code: private void dumpCharCategories(java.io.PrintStream out) {
          int n = fHeader.fCatCount;
          String   catStrings[] = new  String[n+1];
          int      rangeStart = 0;
          int      rangeEnd = 0;
          int      lastCat = -1;
          int      char32;
          int      category;
          int      lastNewline[] = new int[n+1];
  
          for (category = 0; category <= fHeader.fCatCount; category ++) {
              catStrings[category] = "";
          }
          out.println("\nCharacter Categories");
          out.println("--------------------");
          for (char32 = 0; char32<=0x10ffff; char32++) {
              category = fTrie.getCodePointValue(char32);
              category &= ~0x4000;            // Mask off dictionary bit.
              if (category < 0 || category > fHeader.fCatCount) {
                  out.println("Error, bad category " + Integer.toHexString(category) +
                          " for char " + Integer.toHexString(char32));
                  break;
              }
              if (category == lastCat ) {
                  rangeEnd = char32;
              } else {
                  if (lastCat >= 0) {
                      if (catStrings[lastCat].length() > lastNewline[lastCat] + 70) {
                          lastNewline[lastCat] = catStrings[lastCat].length() + 10;
                          catStrings[lastCat] += "\n       ";
                      }
  
                      catStrings[lastCat] += " " + Integer.toHexString(rangeStart);
                      if (rangeEnd != rangeStart) {
                          catStrings[lastCat] += "-" + Integer.toHexString(rangeEnd);
                      }
                  }
                  lastCat = category;
                  rangeStart = rangeEnd = char32;
              }
          }
          catStrings[lastCat] += " " + Integer.toHexString(rangeStart);
          if (rangeEnd != rangeStart) {
              catStrings[lastCat] += "-" + Integer.toHexString(rangeEnd);
          }
  
          for (category = 0; category <= fHeader.fCatCount; category ++) {
              out.println (intToString(category, 5) + "  " + catStrings[category]);
          }
          out.println();
      }
docs: /CLOVER:OFF