code: static <T, S extends Sequence> Comparator<T>
      getComparatorOfObjectsRegardingSequences(final Comparator<T> objectComparator, final SequenceExtractor<T, S> extractor) {
          return new Comparator<T>() {
              @Override
              public int compare(T o1, T o2) {
                  int i = objectComparator.compare(o2, o1);  // Reverse comparison
                  return i == 0 ?
                          extractor.getSequence(o2).compareTo(extractor.getSequence(o1))
                          : i;
              }
          };
      }
docs: First REVERSE compare objects (bigger objects comes first), if equal, REVERSE compare object sequence.