docs: private void addMacroCodewords() {
  
          // if the structured append series size is 1, this isn't
          // actually part of a structured append series
          if (structuredAppendTotal == 1) {
              return;
          }
  
          // add the Macro marker codeword
          codeWords[codeWordCount++] = 928;
  
          // add the segment index, padded with leading zeros to five digits
          // use numeric compaction, but no latch
          int segmentIndex = structuredAppendPosition - 1;
          int[] data = new int[5];
          for (int x = data.length - 1; x >= 0; x--) {
              data[x] = '0' + (segmentIndex % 10);
              segmentIndex /= 10;
          }
          processNumbers(data, 0, data.length, true);
  
          // add the file ID (base 900, which is easy since we limit
          // file ID values to the range 0 to 899)
          codeWords[codeWordCount++] = structuredAppendFileId;
  
          // NOTE: we could add the optional segment count field here, but
          // it doesn't appear to be necessary... if we do eventually decide
          // to add it, it will probably be [923, 001, count1, count2]
  
          // add the terminator to the last symbol of the series
          boolean last = (structuredAppendPosition == structuredAppendTotal);
          if (last) {
              codeWords[codeWordCount++] = 922;
          }
      }