code: private int parseSpecialPosition(int i, StringBuilder str) throws ParseException {
          int j = readWords(i + 1, rawBuilder);
          if(j > i && rules.charAt(j) == 0x5d && rawBuilder.length() != 0) {  // words end with ]
              ++j;
              String raw = rawBuilder.toString();
              str.setLength(0);
              for(int pos = 0; pos < positions.length; ++pos) {
                  if(raw.equals(positions[pos])) {
                      str.append(POS_LEAD).append((char)(POS_BASE + pos));
                      return j;
                  }
              }
              if(raw.equals("top")) {
                  str.append(POS_LEAD).append((char)(POS_BASE + Position.LAST_REGULAR.ordinal()));
                  return j;
              }
              if(raw.equals("variable top")) {
                  str.append(POS_LEAD).append((char)(POS_BASE + Position.LAST_VARIABLE.ordinal()));
                  return j;
              }
          }
          setParseError("not a valid special reset position");
          return i;
      }
docs: Sets str to a contraction of U+FFFE and (U+2800 + Position).
  @return rule index after the special reset position
  @throws ParseException