code: @SuppressWarnings({ "unchecked", "rawtypes" })
  	public final Mono<List<T>> collectSortedList(@Nullable Comparator<? super T> comparator) {
  		return collectList().map(list -> {
  			// Note: this assumes the list emitted by buffer() is mutable
  			if (comparator != null) {
  				list.sort(comparator);
  			} else {
  
  				List<Comparable> l = (List<Comparable>)list;
  				Collections.sort(l);
  			}
  			return list;
  		});
  	}
docs: Collect all elements emitted by this {@link Flux} until this sequence completes,
  and then sort them using a {@link Comparator} into a {@link List} that is emitted
  by the resulting {@link Mono}.
  
  <p>
  <img class="marble" src="doc-files/marbles/collectSortedListWithComparator.svg" alt="">
  
  @reactor.discard This operator discards the buffer upon cancellation or error triggered by a data signal.
  
  @param comparator a {@link Comparator} to sort the items of this sequences
  
  @return a {@link Mono} of a sorted {@link List} of all values from this {@link Flux}