code: public static <T extends List<U>, U extends Comparable<U>> Comparator<T> canonicalComparator() {
          return CmpUtil::canonicalCompare;
      }
docs: Retrieves a canonical comparator for the given type, which has to be a {@link List} of {@link Comparable} types.
  
  @return the canonical comparator
  
  @see #canonicalCompare(List, List)