docs: public String getPath() {
      StringBuilder result = new StringBuilder().append('$');
      for (int i = 0, size = stackSize; i < size; i++) {
        switch (stack[i]) {
          case JsonScope.EMPTY_ARRAY:
          case JsonScope.NONEMPTY_ARRAY:
            result.append('[').append(pathIndices[i]).append(']');
            break;
  
          case JsonScope.EMPTY_OBJECT:
          case JsonScope.DANGLING_NAME:
          case JsonScope.NONEMPTY_OBJECT:
            result.append('.');
            if (pathNames[i] != null) {
              result.append(pathNames[i]);
            }
            break;
  
          case JsonScope.NONEMPTY_DOCUMENT:
          case JsonScope.EMPTY_DOCUMENT:
          case JsonScope.CLOSED:
            break;
        }
      }
      return result.toString();
    }