public < A , B , C , ERR > OrFuture < Tuple3 < A , B , C > , Every < ERR > > zip3 ( OrFuture < ? extends A , ? extends Every < ? extends ERR > > a , OrFuture < ? extends B , ? extends Every < ? extends ERR > > b , OrFuture < ? extends C , ? extends Every < ? extends ERR > > c ) { return withGood ( a , b , c , Tuple :: of ) ; }
Zips three accumulating OrFutures together . If all complete with Goods returns an OrFuture that completes with a Good tuple containing all original Good values . Otherwise returns an OrFuture that completes with a Bad containing every error message .