class AbstractQueryTranslator implements QueryTranslator<Q,O,P> {

    @Override
    public <T,R> Q translate(Query<T,R> query) {
        Criterion rootCriterion = query.getCriteria();
        Class<T> entityClass = query.getEntityClass();
        return translate(rootCriterion, entityClass);
    }

    public  AbstractQueryTranslator(Class<Q> queryClass,
            Class<O> orderClass,
            PropertyResolver propertyResolver);

}