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

        final Occupant oldOccupant = new Occupant(task.getRoomName(), task.getNickname(), task.getRealJID());
        mutex.writeLock().lock();
        try {
            if (oldOccupant.isFederated()) {
                replaceFederatedOccupant(oldOccupant, null);
            } else {
                replaceLocalOccupant(oldOccupant, null, task.getOriginator());
            }
        } finally {
            mutex.writeLock().unlock();
        }

        Log.debug("Done processing task to remove occupant {} - {}", task.getRealJID(), task.getNickname());
    }
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 removed occupant
xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/OccupantManager.java