private String join(char[][] compoundName, char separator) {
                if (compoundName == null) {
                    return "";
                } else {
                    List<String> parts = new ArrayList<>(compoundName.length);
                    for (char[] part: compoundName) {
                        parts.add(new String(part));
                    }
                    return parts.stream().collect(Collectors.joining(new String(new char[] { separator })));
                }
            }
EvaluatorFactory is a factory implementation for creating Evaluator instances

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