public boolean addAll(final Collection c) {
        // Use linear-time version if applicable
        if (this.m.size()==0 && c.size() > 0 && c instanceof SortedSet &&
            this.m instanceof TreeMap) {
            final SortedSet set = (SortedSet)c;
            final TreeMap map = (TreeMap)this.m;
            final Comparator cc = set.comparator();
            final Comparator mc = map.comparator();
            if (cc==mc || cc != null && cc.equals(mc)) {
                map.addAllForTreeSet(set, PRESENT);
                return true;
            }
        }
        return super.addAll(c);
    }