code: public static <K, V> Map<K, V> toSorted(Map<K, V> self) {
          return toSorted(self, new NumberAwareValueComparator<K, V>());
      }
docs: Sorts the elements from the given map into a new ordered map using
  a {@link NumberAwareComparator} on map entry values to determine the resulting order.
  {@code NumberAwareComparator} has special treatment for numbers but otherwise uses the
  natural ordering of the Iterator elements. The original map is unchanged.
  <pre class="groovyTestCase">
  def map = [a:5L, b:3, c:6, d:4.0].toSorted()
  assert map.toString() == '[b:3, d:4.0, a:5, c:6]'
  </pre>
  
  @param self the original unsorted map
  @return the sorted map
  @since 2.4.0