private boolean removeMember(@Nonnull final JID userAddress, @Nonnull final Affiliation actorAffiliation, @Nullable final Role actorRole) throws ForbiddenException
    {
        if (Affiliation.admin != actorAffiliation && Affiliation.owner != actorAffiliation && actorRole != Role.moderator) {
            throw new ForbiddenException();
        }

        return members.remove(userAddress.asBareJID()) != null;
    }
Adds a new user to the list of members.

@param targetUserAddress The (real) JID of the user to add as a member.
@param nickname The reserved nickname of the member for the room or null if none.
@param actorAffiliation the room affiliation of the user that is trying to modify the members list.
@return the list of updated presences of all the client resources that the client used to
        join the room.
@throws ForbiddenException If the user is not allowed to modify the members list.
@throws ConflictException If the desired room nickname is already reserved for the room or if
            the room was going to lose all its owners.
xmppserver/src/main/java/org/jivesoftware/openfire/muc/MUCRoom.java