code: @SuppressWarnings({ "unchecked", "rawtypes" })
      public static <T> List<T> sort(final List<T> list, final Comparator<? super T> c) {
          Validate.notNull(list, "Cannot execute list sort: list is null");
          final Object[] a = list.toArray();
          Arrays.sort(a, (Comparator) c);
          
          return fillNewList(a, list.getClass());
      }
docs: <p>
  Creates an new instance of the list add the sorted list to it.
  </p>
  
  @param list the list which content should be ordered.
  @param c the comparator.
  @param <T> the type of the list elements.
  @return a new sorted list.
  @see java.util.Collections#sort(List, Comparator)