docs: public void createAccount(Localpart username, String password, Map<String, String> attributes)
                      throws NoResponseException, XMPPErrorException, NotConnectedException, InterruptedException {
          if (!connection().isSecureConnection() && !allowSensitiveOperationOverInsecureConnection) {
              throw new IllegalStateException("Creating account over insecure connection");
          }
          if (username == null) {
              throw new IllegalArgumentException("Username must not be null");
          }
          if (StringUtils.isNullOrEmpty(password)) {
              throw new IllegalArgumentException("Password must not be null");
          }
  
          attributes.put("username", username.toString());
          attributes.put("password", password);
          Registration reg = new Registration(attributes);
          reg.setType(IQ.Type.set);
          reg.setTo(connection().getXMPPServiceDomain());
          createStanzaCollectorAndSend(reg).nextResultOrThrow();
      }