public static CompletionStage combine()

in src/main/java/com/spotify/futures/CompletableFutures.java [501:514]


  public static <R, A, B, C, D, E> CompletionStage<R> combine(
      CompletionStage<A> a, CompletionStage<B> b, CompletionStage<C> c,
      CompletionStage<D> d, CompletionStage<E> e,
      Function5<A, B, C, D, E, 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();

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