docs: @Trivial // traced by caller
      static <U> CompletableFuture<U> failedFuture(Throwable x, Executor executor) {
          if (JAVA8) {
              CompletableFuture<U> failedFuture = new CompletableFuture<U>();
              failedFuture.completeExceptionally(x);
              return new ManagedCompletableFuture<U>(failedFuture, executor, null);
          } else {
              ManagedCompletableFuture<U> future = new ManagedCompletableFuture<U>(executor, null);
              future.super_completeExceptionally(x);
              return future;
          }
      }