public static CompletionStage combineFutures()

in src/main/java/com/spotify/futures/CompletableFutures.java [737:759]


  public static <R, A, B, C, D, E, F> CompletionStage<R> combineFutures(
      CompletionStage<A> a,
      CompletionStage<B> b,
      CompletionStage<C> c,
      CompletionStage<D> d,
      CompletionStage<E> e,
      CompletionStage<F> f,
      Function6<A, B, C, D, E, F, CompletionStage<R>> function) {
    final CompletableFuture<A> af = a.toCompletableFuture();
    final CompletableFuture<B> bf = b.toCompletableFuture();
    final CompletableFuture<C> cf = c.toCompletableFuture();
    final CompletableFuture<D> df = d.toCompletableFuture();
    final CompletableFuture<E> ef = e.toCompletableFuture();
    final CompletableFuture<F> ff = f.toCompletableFuture();

    return CompletableFuture.allOf(af, bf, cf, df, ef, ff)
        .thenCompose(ignored -> function.apply(af.join(),
                                               bf.join(),
                                               cf.join(),
                                               df.join(),
                                               ef.join(),
                                               ff.join()));
  }