code: public final <T2> Mono<Tuple2<T, T2>> zipWhen(Function<T, Mono<? extends T2>> rightGenerator) {
  		return zipWhen(rightGenerator, Tuples::of);
  	}
docs: Wait for the result from this mono, use it to create a second mono via the
  provided {@code rightGenerator} function and combine both results into a {@link Tuple2}.
  
  <p>
  <img class="marble" src="doc-files/marbles/zipWhenForMono.svg" alt="">
  
  @param rightGenerator the {@link Function} to generate a {@code Mono} to combine with
  @param <T2> the element type of the other Mono instance
  
  @return a new combined Mono