reactor-core/src/main/java/reactor/core/publisher/Flux.java
public final <T2> Flux<Tuple2<T, T2>> zipWith(Publisher<? extends T2> source2, int prefetch) {
		return zipWith(source2, prefetch, tuple2Function());
	}
public final <T2> Flux<Tuple2<T, T2>> zipWith(Publisher<? extends T2> source2, int prefetch) {
		return zipWith(source2, prefetch, tuple2Function());
	}
public final < T2 > Flux < Tuple2 < T , T2 > > zipWith ( Publisher < ? extends T2 > source2 , int prefetch ) { return zipWith ( source2 , prefetch , tuple2Function ( ) ) ; }
Zip this {@link Flux} with another {@link Publisher} source, that is to say wait
for both to emit one element and combine these elements once into a {@link Tuple2}.
The operator will continue doing so until any of the sources completes.
Errors will immediately be forwarded.
This "Step-Merge" processing is especially useful in Scatter-Gather scenarios.

<p>
<img class="marble" src="doc-files/marbles/zipWithOtherForFlux.svg" alt="">

@param source2 The second source {@link Publisher} to zip with this {@link Flux}.
@param prefetch the request size to use for this {@link Flux} and the other {@link Publisher}
@param <T2> type of the value from source2

@return a zipped {@link Flux}
Zip this { @link Flux } with another { @link Publisher } source that is to say wait for both to emit one element and combine these elements once into a { @link Tuple2 } . The operator will continue doing so until any of the sources completes . Errors will immediately be forwarded . This Step - Merge processing is especially useful in Scatter - Gather scenarios .