code: public <T extends R> CompletableFuture<T> getStageAsyncExecution(
        AsyncSupplier<? extends CompletionStage<T>> supplier) {
      return callAsync(execution -> Functions.asyncOfFutureExecution(supplier, execution), true);
    }
docs: Executes the {@code supplier} asynchronously until the resulting future is successfully completed or the configured
  policies are exceeded. This method is intended for integration with asynchronous code. Retries must be manually
  scheduled via one of the {@code AsyncExecution.retry} methods.
  <p>
  If a configured circuit breaker is open, the resulting future is completed exceptionally with {@link
  CircuitBreakerOpenException}.
  
  @throws NullPointerException if the {@code supplier} is null
  @throws RejectedExecutionException if the {@code supplier} cannot be scheduled for execution