docs: private void generateGroupProperties(
          final StringBuilder sb,
          final List<Token> tokens,
          final String prefix)
      {
          for (int i = 0, size = tokens.size(); i < size; i++)
          {
              final Token token = tokens.get(i);
              if (token.signal() == Signal.BEGIN_GROUP)
              {
                  final String propertyName = formatPropertyName(token.name());
  
                  generateId(sb, prefix, propertyName, token);
                  generateSinceActingDeprecated(sb, prefix, propertyName, token);
                  generateExtensibilityMethods(sb, prefix + propertyName, token);
  
                  // Look inside for nested groups with extra prefix
                  generateGroupProperties(
                      sb,
                      tokens.subList(i + 1, i + token.componentTokenCount() - 1),
                      prefix + propertyName);
                  i += token.componentTokenCount() - 1;
              }
          }
      }