docs: private void complete(T result, Throwable error) {
      synchronized (orderedFutures) {
        this.result = result;
        this.error = error;
        this.complete = true;
        if (error == null) {
          for (CompletableFuture<T> future : orderedFutures) {
            future.complete(result);
          }
        } else {
          for (CompletableFuture<T> future : orderedFutures) {
            future.completeExceptionally(error);
          }
        }
        orderedFutures.clear();
      }
    }