@Override
    public T remove(int index) {
        T result = super.remove(index);
        syncGroups(result, REMOVE);
        return result;
    }
This method is called from several of the mutators to keep
the group set in sync with the full list. 

@param item The item to be added or removed if it is in the group set
@param addOrRemove True to add, false to remove
@return true if the given item is a group
xmppserver/src/main/java/org/jivesoftware/openfire/group/ConcurrentGroupList.java