@Override
    public boolean includes(Object value) {
        boolean found = false;
        if (contains(value)) {
            found = true;
        } else if (value instanceof JID) {
            JID target = (JID) value;
            Iterator<Group> iterator = getGroups().iterator();
            while (!found && iterator.hasNext()) {
                found = iterator.next().isUser(target);
            }
        }
        return found;
    }
Returns true if the list contains the given JID. If the JID
is not found in the list, search the list for groups and look
for the JID in each of the corresponding groups.

@param value The target, presumably a JID
@return True if the target is in the list, or in any groups in the list
xmppserver/src/main/java/org/jivesoftware/openfire/group/ConcurrentGroupList.java