docs: public void set(final String value) {
          // username:password:groups:realm:true|false
          if (value != null) {
              final List<String> parts = splitAndTrim(value, ':');
              // User name and password should be required so we need a minimum of 2
              switch (parts.size()) {
                  case 5: {
                      applicationUser = Boolean.parseBoolean(parts.get(4));
                  }
                  case 4: {
                      realm = parts.get(3);
                  }
                  case 3: {
                      final String g = parts.get(2);
                      if (!g.isEmpty()) {
                          groups = splitAndTrim(g, ',');
                      }
                  }
                  case 2: {
                      username = parts.get(0);
                      password = parts.get(1);
                      break;
                  }
                  default:
                      throw new IllegalArgumentException("Username and password are required parameters");
              }
          }
      }