code: @SuppressWarnings("unchecked")
      static <T, U> BiFunction<? super T, Throwable, ? extends U> returnOrThrow(Supplier<? super U> supplier) {
          return (unused, cause) -> {
              throwUnsafelyIfNonNull(cause);
              return (U) supplier.get();
          };
      }
docs: Returns a {@link BiFunction} for a {@link CompletionStage#handle(BiFunction)} which returns an object
  if the specified {@link Throwable} is {@code null}. Otherwise, it throws the {@code cause}.