code: private void doRulesSummary(CheckstyleResults results) {
          if (checkstyleConfig == null) {
              return;
          }
  
          sink.section1();
          sink.sectionTitle1();
          sink.text(bundle.getString("report.checkstyle.rules"));
          sink.sectionTitle1_();
  
          sink.table();
  
          sink.tableRow();
          sink.tableHeaderCell();
          sink.text(bundle.getString("report.checkstyle.rule.category"));
          sink.tableHeaderCell_();
  
          sink.tableHeaderCell();
          sink.text(bundle.getString("report.checkstyle.rule"));
          sink.tableHeaderCell_();
  
          sink.tableHeaderCell();
          sink.text(bundle.getString("report.checkstyle.violations"));
          sink.tableHeaderCell_();
  
          sink.tableHeaderCell();
          sink.text(bundle.getString("report.checkstyle.column.severity"));
          sink.tableHeaderCell_();
  
          sink.tableRow_();
  
          // Top level should be the checker.
          if ("checker".equalsIgnoreCase(checkstyleConfig.getName())) {
              String category = null;
              for (ConfReference ref : sortConfiguration(results)) {
                  doRuleRow(ref, results, category);
  
                  category = ref.category;
              }
          } else {
              sink.tableRow();
              sink.tableCell();
              sink.text(bundle.getString("report.checkstyle.norule"));
              sink.tableCell_();
              sink.tableRow_();
          }
  
          sink.table_();
  
          sink.section1_();
      }
docs: Create the rules summary section of the report.
  
  @param results The results to summarize