@SuppressWarnings("unchecked")
    public <T> Type<T> getType(Class<T> clazz) {
        Type<?> resolvedType = resolvedTypesByClass.get(clazz);
        if (resolvedType == null) {
            resolvedType = findType(clazz);
            if (resolvedType != null) {
                resolvedTypesByClass.put(clazz, resolvedType);
            } else {
                return (Type) DEFAULT;
            }
        }
        return (Type<T>) resolvedType;
    }
{@code JavaTypeMapping} provides a mapping from Class to Type instances

@author tiwe
querydsl-sql/src/main/java/com/querydsl/sql/JavaTypeMapping.java