android/guava/src/com/google/common/collect/Ordering.java
public boolean isOrdered(Iterable<? extends T> iterable) {
    Iterator<? extends T> it = iterable.iterator();
    if (it.hasNext()) {
      T prev = it.next();
      while (it.hasNext()) {
        T next = it.next();
        if (compare(prev, next) > 0) {
          return false;
        }
        prev = next;
      }
    }
    return true;
  }
public boolean isOrdered(Iterable<? extends T> iterable) {
    Iterator<? extends T> it = iterable.iterator();
    if (it.hasNext()) {
      T prev = it.next();
      while (it.hasNext()) {
        T next = it.next();
        if (compare(prev, next) > 0) {
          return false;
        }
        prev = next;
      }
    }
    return true;
  }
public boolean isOrdered ( Iterable < ? extends T > iterable ) { Iterator < ? extends T > it = iterable . iterator ( ) ; if ( it . hasNext ( ) ) { T prev = it . next ( ) ; while ( it . hasNext ( ) ) { T next = it . next ( ) ; if ( compare ( prev , next ) > 0 ) { return false ; } prev = next ; } } return true ; }
Returns {@code true} if each element in {@code iterable} after the first is greater than or
equal to the element that preceded it, according to this ordering. Note that this is always
true when the iterable has fewer than two elements.

<p><b>Java 8 users:</b> Use the equivalent {@link Comparators#isInOrder(Iterable, Comparator)}
instead, since the rest of {@code Ordering} is mostly obsolete (as explained in the class
documentation).
Returns { @code true } if each element in { @code iterable } after the first is greater than or equal to the element that preceded it according to this ordering . Note that this is always true when the iterable has fewer than two elements .