code: 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();
          }
      }
docs: 如果异常提供非空则抛出异常，否则返回提供内容
  
  @param exceptionSupplier 异常提供者
  @param provider 内容提供者
  @param <T> 返回值类型
  @param <X> 异常类型
  @return 返回值