docs: public String[][] getList() throws MtasParserException {
      String[][] result = new String[(tokenCollection.size() + 1)][];
      result[0] = new String[] { "id", "start real offset", "end real offset",
          "provide real offset", "start offset", "end offset", "provide offset",
          "start position", "end position", "multiple positions", "parent",
          "provide parent", "payload", "prefix", "postfix" };
      int number = 1;
      Iterator<MtasToken> it = this.iterator();
      while (it.hasNext()) {
        MtasToken token = it.next();
        String[] row = new String[15];
        row[0] = token.getId().toString();
        if (token.getRealOffsetStart() != null) {
          row[1] = token.getRealOffsetStart().toString();
          row[2] = token.getRealOffsetEnd().toString();
          row[3] = token.getProvideRealOffset() ? "1" : null;
        }
        if (token.getOffsetStart() != null) {
          row[4] = token.getOffsetStart().toString();
          row[5] = token.getOffsetEnd().toString();
          row[6] = token.getProvideOffset() ? "1" : null;
        }
        if (token.getPositionLength() != null) {
          if (token.getPositionStart().equals(token.getPositionEnd())) {
            row[7] = token.getPositionStart().toString();
            row[8] = token.getPositionEnd().toString();
            row[9] = null;
          } else if ((token.getPositions() == null)
              || (token.getPositions().length == (1 + token.getPositionEnd()
                  - token.getPositionStart()))) {
            row[7] = token.getPositionStart().toString();
            row[8] = token.getPositionEnd().toString();
            row[9] = null;
          } else {
            row[7] = null;
            row[8] = null;
            row[9] = Arrays.toString(token.getPositions());
          }
        }
        if (token.getParentId() != null) {
          row[10] = token.getParentId().toString();
          row[11] = token.getProvideParentId() ? "1" : null;
        }
        if (token.getPayload() != null) {
          BytesRef payload = token.getPayload();
          row[12] = Float.toString(PayloadHelper.decodeFloat(Arrays.copyOfRange(
              payload.bytes, payload.offset, (payload.offset + payload.length))));
        }
        row[13] = token.getPrefix();
        row[14] = token.getPostfix();
        result[number] = row;
        number++;
      }
      return result;
    }