public <U> CompletableFuture<U> thenApply(Function<? super T, ? extends U> fn) {
    return uniApplyStage(null, fn);
  }
public < U > CompletableFuture < U > thenApply ( Function < ? super T , ? extends U > fn ) { return uniApplyStage ( null , fn ) ; }
/* ------------- public methods --------------