code: public static <T> Instantiator<T> of(Class<T> type) {
          if (Modifier.isAbstract(type.getModifiers())) {
              return new Instantiator<>(giveDynamicSubclass(type));
          }
          return new Instantiator<>(type);
      }
docs: Factory method.
  
  @param <T> The class on which {@link Instantiator} operates.
  @param type The class on which {@link Instantiator} operates. Should be
  the same as T.
  @return An {@link Instantiator} for {@link #type}.