public abstract <U> CompletionStage<U> thenApplyAsync (Function<? super T, ? extends U> fn)

Returns a new CompletionStage that, when this stage completes normally, is executed using this stage's default asynchronous execution facility, with this stage's result as the argument to the supplied function. See the CompletionStage documentation for rules covering exceptional completion.

Parameters:
fn    the function to use to compute the value of the returned CompletionStage
<U>    the function's return type

Returns:  the new CompletionStage