code: public <T> Stream maxBy(String inputFieldName, Comparator<T> comparator) {
          Aggregator<ComparisonAggregator.State> max = new MaxWithComparator<>(inputFieldName, comparator);
          return comparableAggregateStream(inputFieldName, max);
      }
docs: This aggregator operation computes the maximum of tuples by the given {@code inputFieldName} in a stream by
  using the given {@code comparator}. If the value of tuple with field {@code inputFieldName} is not an
  instance of {@code T} then it throws {@code ClassCastException}
  
  @param inputFieldName input field name
  @param comparator comparator used in for finding maximum of two tuple values of {@code inputFieldName}.
  @param <T> type of tuple's given input field value.
  @return the new stream with this operation.