docs: private Path getPath(PropertyWriter writer, JsonStreamContext sc) {
          LinkedList<PathElement> elements = new LinkedList<>();
  
          if (sc != null) {
              elements.add(new PathElement(writer.getName(), sc.getCurrentValue()));
              sc = sc.getParent();
          }
  
          while (sc != null) {
              if (sc.getCurrentName() != null && sc.getCurrentValue() != null) {
                  elements.addFirst(new PathElement(sc.getCurrentName(), sc.getCurrentValue()));
              }
              sc = sc.getParent();
          }
  
          return new Path(elements);
      }