code: @Pure
  	public static <T> Iterable<T> drop(final Iterable<T> iterable, final int count) {
  		if (iterable == null)
  			throw new NullPointerException("iterable");
  		if (count == 0)
  			return iterable;
  		if (count < 0)
  			throw new IllegalArgumentException("Cannot drop a negative number of elements. Argument 'count' was: "
  					+ count);
  		return new Iterable<T>() {
  			@Override
  			public Iterator<T> iterator() {
  				return IteratorExtensions.drop(iterable.iterator(), count);
  			}
  		};
  	}
docs: Returns a view on this iterable that provides all elements except the first <code>count</code> entries.
  
  @param iterable
  the iterable. May not be <code>null</code>.
  @param count
  the number of elements that should be dropped.
  @return an iterable without the first <code>count</code> elements. Never <code>null</code>.
  @throws IllegalArgumentException
  if <code>count</code> is negative.