public void process(@Nonnull final OccupantAddedTask task)
    {
        Log.debug("Processing task to add occupant {} - {}", task.getRealJID(), task.getNickname());

        final Occupant newOccupant = new Occupant(task.getRoomName(), task.getNickname(), task.getRealJID());
        mutex.writeLock().lock();
        try {
            if (newOccupant.isFederated()) {
                replaceFederatedOccupant(null, newOccupant);
            } else {
                replaceLocalOccupant(null, newOccupant, task.getOriginator());
            }
        } finally {
            mutex.writeLock().unlock();
        }
    }
Updates the data maintained by this instance to perform post-cluster event maintenance, based on the data from
the clustered task.

@param task Cluster task that informs of a new occupant
xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/OccupantManager.java