docs: public static <T, X extends RuntimeException> T ifNonNullThrowOrElse(Supplier<X> exceptionSupplier,
              Supplier<T> provider) {
          if (Objects.nonNull(exceptionSupplier)) {
              throw exceptionSupplier.get();
          } else {
              return provider.get();
          }
      }