@SafeVarargs public final <Result,Progress>Promise<MultipleResult<Result,Progress>,Progress> afterAll(Promise<Result,Progress>... promises){
  return afterAll(Arrays.asList(promises));
}

@ SafeVarargs public final < Result , Progress > Promise < MultipleResult < Result , Progress > , Progress > afterAll ( Promise < Result , Progress > ... promises ) { return afterAll ( Arrays . asList ( promises ) ) ; }
creates a new promise that will be resolved when all promises finishes its execution , that is , get resolved or rejected .
