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

@ SafeVarargs public final < Result , Progress > Promise < Collection < Result > , Progress > allOf ( Promise < Result , Progress > ... promises ) { return allOf ( Arrays . asList ( promises ) ) ; }
creates a new promise that will be resolved only if all promises get resolved . if any of the promises is rejected the created promise will be rejected .
