code: public void invite(Message message, EntityBareJid user, String reason) throws NotConnectedException, InterruptedException {
          // TODO listen for 404 error code when inviter supplies a non-existent JID
          message.setTo(room);
  
          // Create the MUCUser packet that will include the invitation
          MUCUser mucUser = new MUCUser();
          MUCUser.Invite invite = new MUCUser.Invite(reason, user);
          mucUser.setInvite(invite);
          // Add the MUCUser packet that includes the invitation to the message
          message.addExtension(mucUser);
  
          connection.sendStanza(message);
      }
docs: Invites another user to the room in which one is an occupant using a given Message. The invitation
  will be sent to the room which in turn will forward the invitation to the invitee.<p>
  
  If the room is password-protected, the invitee will receive a password to use to join
  the room. If the room is members-only, the the invitee may be added to the member list.
  
  @param message the message to use for sending the invitation.
  @param user the user to invite to the room.(e.g. hecate@shakespeare.lit)
  @param reason the reason why the user is being invited.
  @throws NotConnectedException
  @throws InterruptedException