@Override
            public void acceptResult(CompilationResult result) {
                if (result.hasErrors()) {
                    for (CategorizedProblem problem: result.getProblems()) {
                        if (problem.isError()) {
                            problemList.add(problem.getMessage());
                        }
                    }
                } else {
                    for (ClassFile clazz: result.getClassFiles()) {
                        try {
                            MemJavaFileObject jfo = (MemJavaFileObject) fileManager
                                    .getJavaFileForOutput(StandardLocation.CLASS_OUTPUT,
                                            new String(clazz.fileName()), JavaFileObject.Kind.CLASS, null);
                            OutputStream os = jfo.openOutputStream();
                            os.write(clazz.getBytes());
                        } catch (IOException ex) {
                            throw new RuntimeException(ex);
                        }
                    }
                }
            }
EvaluatorFactory is a factory implementation for creating Evaluator instances

@author tiwe
querydsl-codegen-utils/src/main/java/com/querydsl/codegen/utils/ECJEvaluatorFactory.java