code: public final <U> CompletionStage<U> supplyAsync(Supplier<U> supplier) {
          return supplyAsync(supplier, defaultAsyncExecutor);
      }
docs: Returns a new CompletionStage that is asynchronously completed
  by a task running in the defaultAsyncExecutor with
  the value obtained by calling the given Supplier.
  
  @param supplier a function returning the value to be used
  to complete the returned CompletionStage
  @param <U> the function's return type
  @return the new CompletionStage