private static String escapeName(String name) {
        if (SourceVersion.isKeyword(name)) {
            name = name + "$";
        } else if (!Character.isJavaIdentifierStart(name.charAt(0))) {
            name = "_" + name;
        }
        return name;
    }
{@code Property} represents a property in a query domain type.

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