docs: static void createUserIfMissing(DbConn cnx, String login, String password, String description, String... roles)
      {
          try
          {
              int userId = cnx.runSelectSingle("user_select_id_by_key", Integer.class, login);
              cnx.runUpdate("user_update_enable_by_id", userId);
              RUser.set_roles(cnx, userId, roles);
          }
          catch (NoResultException e)
          {
              String saltS = null;
              String hash = null;
              if (null != password && !"".equals(password))
              {
                  ByteSource salt = new SecureRandomNumberGenerator().nextBytes();
                  hash = new Sha512Hash(password, salt, 100000).toHex();
                  saltS = salt.toHex();
              }
  
              RUser.create(cnx, login, hash, saltS, roles);
          }
      }