code: @CanIgnoreReturnValue // TODO(kak): Consider removing this
    public <E extends T> E max(@Nullable E a, @Nullable E b) {
      return (compare(a, b) >= 0) ? a : b;
    }
docs: 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 Stream.of(a, b).max(thisComparator).get()} 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.