android/guava/src/com/google/common/collect/Ordering.java
public <E extends T> E max(@NullableDecl E a, @NullableDecl E b) {
    return (compare(a, b) >= 0) ? a : b;
  }
public <E extends T> E max(@NullableDecl E a, @NullableDecl E b) {
    return (compare(a, b) >= 0) ? a : b;
  }
Returns the greater of the two values according to this ordering. If the values compare as 0,
the first is returned.

<p><b>Implementation note:</b> this method is invoked by the default implementations of the
other {@code max} overloads, so overriding it will affect their behavior.

<p><b>Java 8 users:</b> Use {@code Collections.max(Arrays.asList(a, b), thisComparator)}
instead (but note that it does not guarantee which tied maximum element is returned).

@param a value to compare, returned if greater than or equal to b.
@param b value to compare.
@throws ClassCastException if the parameters are not <i>mutually comparable</i> under this
ordering.