android/guava/src/com/google/common/collect/Ordering.java
@GwtCompatible(serializable = true)
  @SuppressWarnings("unchecked") // TODO(kevinb): right way to explain this??
  public static <C extends Comparable> Ordering<C> natural() {
    return (Ordering<C>) NaturalOrdering.INSTANCE;
  }
@GwtCompatible(serializable = true)
  @SuppressWarnings("unchecked") // TODO(kevinb): right way to explain this??
  public static <C extends Comparable> Ordering<C> natural() {
    return (Ordering<C>) NaturalOrdering.INSTANCE;
  }
Returns a serializable ordering that uses the natural order of the values. The ordering throws
a {@link NullPointerException} when passed a null parameter.

<p>The type specification is {@code <C extends Comparable>}, instead of the technically correct
{@code <C extends Comparable<? super C>>}, to support legacy types from before Java 5.

<p><b>Java 8 users:</b> use {@link Comparator#naturalOrder} instead.