public default <U> Comparator<T> thenComparing (Function<? super T, ? extends U> keyExtractor, Comparator<? super U> keyComparator)

Returns a lexicographic-order comparator with a function that extracts a key to be compared with the given Comparator.

<U>    the type of the sort key
keyExtractor    the function used to extract the sort key
keyComparator    the Comparator used to compare the sort key

Returns:  a lexicographic-order comparator composed of this comparator and then comparing on the key extracted by the keyExtractor function

NullPointerException    if either argument is null.

See also:
comparing(Function, Comparator), thenComparing(Comparator)

Since:  1.8

@implSpec This default implementation behaves as if thenComparing(comparing(keyExtractor, cmp)).