private void processLeftInstruction( @Nonnull final Presence stanza )
    {
        if ( stanza.getElement().element(FMUC) == null ) {
            throw new IllegalArgumentException( "Unable to process stanza that does not have FMUC data: " + stanza.toXML() );
        }

        Log.trace("(room: '{}'): FMUC peer '{}' informed us that we left the FMUC set.", room.getJID(), outboundJoin.getPeer() );

        // This *should* only occur after all of our local users have left the room. For good measure, send out
        // 'leave' for all occupants from the now disconnected FMUC node anyway.
        makeRemoteOccupantLeaveRoom( outboundJoin.occupants );

        outboundJoin = null;
        outboundJoinProgress = null;
    }
Process a 'left' notification that is sent to us by the remote joined node.

All occupants of the room will be notified that the occupants that joined through the node that has disconnected
us are no longer available (in a typical scenario, no such local occupants are expected to be in the room, as the
'left' notification should be trigged by the last occupant having left the room).

@param stanza The stanza that informed us that the FMUC peer considers us disconnected.
xmppserver/src/main/java/org/jivesoftware/openfire/muc/spi/FMUCHandler.java