docs: public void destroy(String reason, EntityBareJid alternateJID) throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
          MUCOwner iq = new MUCOwner();
          iq.setTo(room);
          iq.setType(IQ.Type.set);
  
          // Create the reason for the room destruction
          Destroy destroy = new Destroy(alternateJID, reason);
          iq.setDestroy(destroy);
  
          try {
              connection.createStanzaCollectorAndSend(iq).nextResultOrThrow();
          }
          catch (XMPPErrorException e) {
              // Note that we do not call userHasLeft() here because an XMPPErrorException would usually indicate that the
              // room was not destroyed and we therefore we also did not leave the room.
              throw e;
          }
          catch (NoResponseException | NotConnectedException | InterruptedException e) {
              // Reset occupant information.
              userHasLeft();
              throw e;
          }
  
          // Reset occupant information.
          userHasLeft();
      }