guava/src/com/google/common/util/concurrent/Futures.java
@Beta
  @SafeVarargs
  public static <V> FutureCombiner<V> whenAllSucceed(ListenableFuture<? extends V>... futures) {
    return new FutureCombiner<V>(true, ImmutableList.copyOf(futures));
  }
@Beta
  @SafeVarargs
  public static <V> FutureCombiner<V> whenAllSucceed(ListenableFuture<? extends V>... futures) {
    return new FutureCombiner<V>(true, ImmutableList.copyOf(futures));
  }
Creates a {@link FutureCombiner} requiring that all passed in futures are successful.

<p>If any input fails, the returned future fails immediately.

@since 20.0