class EnumeratedIdentitySet implements Set<T> {

    @Override
    public boolean removeAll(Collection<?> collection) {
        boolean changed = false;

        for (Object o : collection) {
            changed |= remove(o);
        }

        return changed;
    }

    public  EnumeratedIdentitySet(Collection<? extends T> collection);
    public  EnumeratedIdentitySet();

}