code: @CanIgnoreReturnValue // TODO(kak): Consider removing this
    public <E extends T> E max(Iterable<E> iterable) {
      return max(iterable.iterator());
    }
docs: Returns the greatest of the specified values according to this ordering. If
  there are multiple greatest values, the first of those is returned.
  
  <p><b>Java 8 users:</b> If {@code iterable} is a {@link Collection}, use {@code
  Collections.max(collection, thisComparator)} instead. Otherwise, continue to use this method
  for now. After the next release of Guava, use {@code
  Streams.stream(iterable).max(thisComparator).get()} instead. Note that these alternatives do
  not guarantee which tied maximum element is returned)
  
  @param iterable the iterable whose maximum element is to be determined
  @throws NoSuchElementException if {@code iterable} is empty
  @throws ClassCastException if the parameters are not <i>mutually
  comparable</i> under this ordering.