code: public static <T, C extends Comparable<? super C>> List<T> sortBy(Iterable<T> iterable,
  			final Functions.Function1<? super T, C> key) {
  		return ListExtensions.sortInplaceBy(Lists.newArrayList(iterable), key);
  	}
docs: Creates a sorted list that contains the items of the given iterable. The resulting list is sorted according to
  the order induced by applying a key function to each element which yields a comparable criteria.
  
  @param iterable
  the elements to be sorted. May not be <code>null</code>.
  @param key
  the key function to-be-used. May not be <code>null</code>.
  @return a sorted list as a shallow copy of the given iterable.
  @see #sort(Iterable)
  @see #sort(Iterable, Comparator)
  @see ListExtensions#sortInplaceBy(List, org.eclipse.xtext.xbase.lib.Functions.Function1)