code: @NonNull
      public <T> T create(@NonNull Class<? extends T> clazz, @NonNull Fallback<T> fallback) {
          T t = create(clazz);
          return t != null ? t : fallback.get();
      }
docs: Create an instance of clazz
  
  @param clazz    the clazz to create an instance of
  @param fallback a value provider which provides a fallback in case of a failure
  @param <T>      the return type
  @return a new instance of clazz or fallback