code: public final <I> Flux<I> index(BiFunction<? super Long, ? super T, ? extends I> indexMapper) {
  		if (this instanceof Fuseable) {
  			return onAssembly(new FluxIndexFuseable<>(this, indexMapper));
  		}
  		return onAssembly(new FluxIndex<>(this, indexMapper));
  	}
docs: Keep information about the order in which source values were received by
  indexing them internally with a 0-based incrementing long then combining this
  information with the source value into a {@code I} using the provided {@link BiFunction},
  returning a {@link Flux Flux&lt;I&gt;}.
  <p>
  Typical usage would be to produce a {@link Tuple2} similar to {@link #index()}, but
  1-based instead of 0-based:
  <p>
  {@code index((i, v) -> Tuples.of(i+1, v))}
  <p>
  <img class="marble" src="doc-files/marbles/indexWithMapper.svg" alt="">
  
  @param indexMapper the {@link BiFunction} to use to combine elements and their index.
  @return an indexed {@link Flux} with each source value combined with its computed index.