@Nonnull
    public OccupantAddedTask registerOccupantJoinedLocally(@Nonnull final JID roomJID, @Nonnull final JID userJID, @Nonnull final String nickname)
    {
        Log.debug("New local occupancy in room '{}' of service '{}': entity '{}' using nickname '{}'", roomJID.getNode(), serviceName, userJID, nickname);

        final OccupantAddedTask task = new OccupantAddedTask(serviceName, roomJID.getNode(), nickname, userJID, XMPPServer.getInstance().getNodeID());
        process(task); // On this cluster node.

        return task;
    }
When an XMPP entity / user is registered as a new occupant of a room, this event handler will ensure that this
instance of OccupantManager, as well as all instances for the same server on every other cluster node, registers
the relevant data that is needed to perform post-cluster event maintenance.

@param roomJID the JID of the room where the occupant has joined.
@param userJID The 'real' JID (not room-at-service-slash-nickname) of the XMPP user that joined.
@param nickname nickname of the user in the room.
xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/OccupantManager.java