docs: public void process() throws IOException {
          int pos = 0;
          do {
              int meta = findNextMeta(text, pos);
              if (meta >= 0) {
                  emitLiteral(text.substring(pos, meta));
                  emitLiteral(map.getReplacement(text.substring(meta, meta + 1)));
                  pos = meta + 1;
              } else {
                  emitLiteral(text.substring(pos, text.length()));
                  pos = text.length();
              }
          } while (pos < text.length());
      }