Set<E> difference(Set<Object> other) { Set<E> result = new SplayTreeSet<E>(_comparator, _validKey); for (E element in this) { if (!other.contains(element)) result.add(element); } return result; }