question: @ SafeVarargs public final < Result , Progress > Promise < Result , Progress > sequentiallyUntilFirstDone ( final Task < Result , Progress > ... tasks ) { return sequentiallyUntilFirstDone ( Arrays . asList ( tasks ) ) ; }
target:  Creates a new promise that will be resolved with the result of the first task which completes correctly. Task will execute sequentially until the first one is resolved. If all the promises fail promise will be rejected with the last exception thrown. In case the collection of tasks is empty the promise will be rejected with an EmptyTasksException.