Returns a CompletionStage that will be completed with the same value or
exception as the given Scala Future when that completes. Since the Future is a read-only
representation, this CompletionStage does not support the
toCompletableFuture
method. The semantics of Scala Future
demand that all callbacks are invoked asynchronously by default, therefore
the returned CompletionStage routes all calls to synchronous
transformations to their asynchronous counterparts, i.e.
thenRun
will internally call
thenRunAsync
.