public static <T> Supplier<T> wrap(@NotNull Supplier<? extends T> supplier) {
    try {
      return of(supplier.get());
    }
    catch (UnsupportedMethodException methodException) {
      return new UnsupportedMethodExceptionSupplier<>(methodException);
    }
  }
public static <T> Supplier<T> wrap(@NotNull Supplier<? extends T> supplier)