public static <T> Factory<T> fromClass(final @NotNull Class<? extends T> clazz) {
    try {
      return new NewInstanceFactory<>(clazz.getConstructor(ArrayUtil.EMPTY_CLASS_ARRAY), ArrayUtilRt.EMPTY_OBJECT_ARRAY);
    }
    catch (NoSuchMethodException e) {
      return () -> {
        try {
          return clazz.newInstance();
        }
        catch (Exception e1) {
          LOG.error(e1);
          return null;
        }
      };
    }
  }
public static <T> Factory<T> fromClass(final @NotNull Class<? extends T> clazz)