@Override
    public <T> Evaluator<T> createEvaluator(String source, Class<? extends T> projectionType,
            String[] names, Class<?>[] classes, Map<String, Object> constants) {
        Type[] types = new Type[classes.length];
        for (int i = 0; i < types.length; i++) {
            types[i] = new ClassType(TypeCategory.SIMPLE, classes[i]);
        }
        return createEvaluator(source, new ClassType(TypeCategory.SIMPLE, projectionType), names,
                types, classes, constants);
    }
@param source
@param projectionType
@param names
@param types
@param id
@param constants
@return
@throws IOException
querydsl-codegen-utils/src/main/java/com/querydsl/codegen/utils/AbstractEvaluatorFactory.java