public final <R>ParallelFlux<R> reduce(Supplier<R> initialSupplier,BiFunction<R,T,R> reducer){
  Objects.requireNonNull(initialSupplier,"initialSupplier");
  Objects.requireNonNull(reducer,"reducer");
  return onAssembly(new ParallelReduce<>(this,initialSupplier,reducer));
}

public final < R > ParallelFlux < R > reduce ( Supplier < R > initialSupplier , BiFunction < R , T , R > reducer ) { Objects . requireNonNull ( initialSupplier , "initialSupplier" ) ; Objects . requireNonNull ( reducer , "reducer" ) ; return onAssembly ( new ParallelReduce < > ( this , initialSupplier , reducer ) ) ; }
reduces all values within a ' rail ' to a single value ( with a possibly different type ) via a reducer function that is initialized on each rail from an initialsupplier value . < p > note that the same mapper function may be called from multiple threads concurrently .
