default <T> CompletableFuture<T> makeContextAware(CompletableFuture<T> future) {
        requireNonNull(future, "future");
        return makeContextAware((CompletionStage<T>) future).toCompletableFuture();
    }
Returns a {@link CompletableFuture} that makes sure the current {@link RequestContext} is set and
then invokes the input {@code future}.
core/src/main/java/com/linecorp/armeria/common/RequestContext.java