code: @SuppressWarnings({ "rawtypes", "unchecked" })
    protected AbstractGenericType<T> create(Type genericType, GenericType<?> genericDefiningType) {
  
      return new GenericTypeImpl(genericType, genericDefiningType);
    }
docs: This method creates a new instance of this class. It may be overridden to create the appropriate sub-type.
  
  @param genericType is the {@link #getType() value-type}.
  @param genericDefiningType is the {@link #getDefiningType() defining-type}.
  @return a new {@link GenericType} instance.