docs: public void joinQueue(Map<String,Object> metadata, Jid userID) throws XMPPException, SmackException, InterruptedException {
          // If already in the queue ignore the join request.
          if (inQueue) {
              throw new IllegalStateException("Already in queue " + workgroupJID);
          }
  
          // Build dataform from metadata
          Form form = new Form(DataForm.Type.submit);
          Iterator<String> iter = metadata.keySet().iterator();
          while (iter.hasNext()) {
              String name = iter.next();
              String value = metadata.get(name).toString();
  
              FormField field = new FormField(name);
              field.setType(FormField.Type.text_single);
              form.addField(field);
              form.setAnswer(name, value);
          }
          joinQueue(form, userID);
      }