code: public final Mono<List<T>> collectSortedList(Comparator<? super T> comparator,
  			int capacityHint) {
  		int ch = capacityHint / parallelism() + 1;
  		ParallelFlux<List<T>> railReduced =
  				reduce(() -> new ArrayList<>(ch), (a, b) -> {
  					a.add(b);
  					return a;
  				});
  		ParallelFlux<List<T>> railSorted = railReduced.map(list -> {
  			list.sort(comparator);
  			return list;
  		});
  
  		Mono<List<T>> merged = railSorted.reduce((a, b) -> sortedMerger(a, b, comparator));
  
  		return merged;
  	}
docs: Sorts the 'rails' according to the comparator and returns a full sorted list as a
  Publisher.
  <p>
  This operator requires a finite source ParallelFlux.
  
  @param comparator the comparator to compare elements
  @param capacityHint the expected number of total elements
  
  @return the new Mono instance