code: public static <T> T last(Iterable<T> iterable) {
  		if (iterable instanceof List<?>) {
  			List<T> list = (List<T>) iterable;
  			if (list.isEmpty())
  				return null;
  			return list.get(list.size() - 1);
  		} else if (iterable instanceof SortedSet) {
  			SortedSet<T> sortedSet = (SortedSet<T>) iterable;
  			if (sortedSet.isEmpty())
  				return null;
  			return sortedSet.last();
  		} else {
  			return IteratorExtensions.last(iterable.iterator());
  		}
  	}
docs: Returns the last element in the given iterable or <code>null</code> if empty.
  
  @param iterable
  the iterable. May not be <code>null</code>.
  @return the last element in the iterable or <code>null</code>.