docs: private static String[] parseRawParamKey(String rawKey) {
          List<String> list = new ArrayList<>();
          int len = rawKey.length();
          boolean inSquare = false;
          S.Buffer token = S.buffer();
          for (int i = 0; i < len; ++i) {
              char c = rawKey.charAt(i);
              switch (c) {
                  case '.':
                      if (inSquare) {
                          token.append(c);
                      } else {
                          addTokenToList(list, token);
                      }
                      continue;
                  case ']':
                      inSquare = false;
                      addTokenToList(list, token);
                      continue;
                  case '[':
                      inSquare = true;
                      addTokenToList(list, token);
                      continue;
                  default:
                      token.append(c);
  
              }
          }
          addTokenToList(list, token);
          return list.toArray(new String[list.size()]);
      }