docs: public static ExecutionPath parse(String pathString) {
          pathString = pathString == null ? "" : pathString;
          pathString = pathString.trim();
          StringTokenizer st = new StringTokenizer(pathString, "/[]", true);
          ExecutionPath path = ExecutionPath.rootPath();
          while (st.hasMoreTokens()) {
              String token = st.nextToken();
              if ("/".equals(token)) {
                  assertTrue(st.hasMoreTokens(), mkErrMsg(), pathString);
                  path = path.segment(st.nextToken());
              } else if ("[".equals(token)) {
                  assertTrue(st.countTokens() >= 2, mkErrMsg(), pathString);
                  path = path.segment(Integer.parseInt(st.nextToken()));
                  String closingBrace = st.nextToken();
                  assertTrue(closingBrace.equals("]"), mkErrMsg(), pathString);
              } else {
                  throw new AssertException(format(mkErrMsg(), pathString));
              }
          }
          return path;
      }