code: public static <T> List<T> toSorted(Iterable<T> self) {
          return toSorted(self, new NumberAwareComparator<T>());
      }
docs: Sorts the Iterable. Assumes that the Iterable elements are
  comparable and uses a {@link NumberAwareComparator} to determine the resulting order.
  {@code NumberAwareComparator} has special treatment for numbers but otherwise uses the
  natural ordering of the Iterable elements. The elements are first placed into a new list which
  is then sorted and returned - leaving the original Iterable unchanged.
  <pre class="groovyTestCase">
  def orig = [1, 3, 2]
  def sorted = orig.toSorted()
  assert orig == [1, 3, 2]
  assert sorted == [1, 2, 3]
  </pre>
  
  @param self   the Iterable to be sorted
  @return the sorted iterable as a List
  @see #toSorted(Iterable, Comparator)
  @since 2.4.0