code: public static <T> Collector<T, ?, Optional<T>>
      minBy(Comparator<? super T> comparator) {
          return reducing(BinaryOperator.minBy(comparator));
      }
docs: Returns a {@code Collector} that produces the minimal element according
  to a given {@code Comparator}, described as an {@code Optional<T>}.
  
  @implSpec
  This produces a result equivalent to:
  <pre>{@code
  reducing(BinaryOperator.minBy(comparator))
  }</pre>
  
  @param <T> the type of the input elements
  @param comparator a {@code Comparator} for comparing elements
  @return a {@code Collector} that produces the minimal value