class HibernateQueryTranslator extends
        AbstractHibernateQueryTranslator<Criterion, Orders, Projection> implements QueryTranslator<Criterion, Orders, Projection> {

    @Override
    public <T, R> Projection translateProjection(Query<T, R> query) {
        if (query.getReturnFields().size() > 0) {
            ProjectionList projectionList = Projections.projectionList();
            for (String returnField : query.getReturnFields()) {
                projectionList.add(Projections.property(returnField));
            }
            return projectionList;
        } else {
            return null;
        }
    }

    public  HibernateQueryTranslator(HibernatePropertyResolver propertyResolver,
            BoxMaker boxMaker,
            ContainsExpressionHandler<Criterion> containsExpressionHandler);
    public  HibernateQueryTranslator(HibernatePropertyResolver propertyResolver,
            BoxMaker boxMaker);
    public  HibernateQueryTranslator(HibernatePropertyResolver propertyResolver);

}