code: @Override
      protected void encode() {
  
          char[] controlChars = toControlChars(content);
          int l = controlChars.length;
  
          if (!content.matches("[\u0000-\u007F]+")) {
              throw new OkapiException("Invalid characters in input data");
          }
  
          int[] values = new int[controlChars.length + 2];
          for (int i = 0; i < l; i++) {
              values[i] = positionOf(controlChars[i], CODE_93_LOOKUP);
          }
  
          int c = calculateCheckDigitC(values, l);
          values[l] = c;
          l++;
  
          int k = calculateCheckDigitK(values, l);
          values[l] = k;
          l++;
  
          readable = content;
          if (showCheckDigits) {
              readable = readable + CODE_93_LOOKUP[c] + CODE_93_LOOKUP[k];
          }
          if (startStopDelimiter != null) {
              readable = startStopDelimiter + readable + startStopDelimiter;
          }
  
          encodeInfo += "Check Digit C: " + c + "\n";
          encodeInfo += "Check Digit K: " + k + "\n";
          pattern = new String[] { toPattern(values) };
          row_count = 1;
          row_height = new int[] { -1 };
      }
docs: {@inheritDoc}