@Override
    public ChainedComparator<S, C> clone() {
        try {
            final ChainedComparator<S, C> clone = (ChainedComparator<S, C>) super.clone();
            clone.comparators = new ArrayList<>();
            for (final Pair<Traversal.Admin<S, C>, Comparator<C>> comparator : this.comparators) {
                clone.comparators.add(new Pair<>(comparator.getValue0().clone(), comparator.getValue1()));
            }
            return clone;
        } catch (final CloneNotSupportedException e) {
            throw new IllegalStateException(e.getMessage(), e);
        }
    }
@author Marko A. Rodriguez (http://markorodriguez.com)
@deprecated As of release 3.6.0, not replaced.
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/util/function/ChainedComparator.java