@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));
  }
@ 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
Creates a { @link FutureCombiner } requiring that all passed in futures are successful .