@SuppressWarnings("unchecked")
    public <T extends Annotation> T getAnnotation(Class<T> type) {
        return (T) annotations.get(type);
    }
Create a new {@code EntityType} instance for the given type and superTypes

@param type the type to be used
@param superTypes the super types to be used
@param variableNameFunction the variable name function to be used
querydsl-codegen/src/main/java/com/querydsl/codegen/EntityType.java