code: @Trivial
      <R> CompletableFuture<R> newInstance(CompletableFuture<R> completableFuture, Executor managedExecutor, FutureRefExecutor futureRef) {
          return new ManagedCompletableFuture<R>(completableFuture, managedExecutor, futureRef);
      }
docs: This method is only for Java SE 8.
  It is used to create new instances of this class (or subclasses).
  ManagedCompletionStage overrides to ensure that an instance of that class is created instead.
  
  @param completableFuture underlying completable future upon which this instance is backed.
  @param managedExecutor managed executor service
  @param futureRef reference to a policy executor Future that will be submitted if requested to run async. Otherwise null.
  @return a new instance of this class.