code: @GwtCompatible(serializable = true)
    public <F> Ordering<F> onResultOf(Function<F, ? extends T> function) {
      return new ByFunctionOrdering<>(function, this);
    }
docs: Returns a new ordering on {@code F} which orders elements by first applying a function to them,
  then comparing those results using {@code this}. For example, to compare objects by their
  string forms, in a case-insensitive manner, use:
  
  <pre>{@code
  Ordering.from(String.CASE_INSENSITIVE_ORDER)
  .onResultOf(Functions.toStringFunction())
  }</pre>
  
  <p><b>Java 8 users:</b> Use {@code Comparator.comparing(function, thisComparator)} instead (you
  can omit the comparator if it is the natural order).