code: public boolean find(String xmlPathQuery) {
          XmlPath xmlPath = XmlPathParser.parse(xmlPathQuery);
  
          XmlNode node;
          while((node = pullXmlNode()) != null) {
              if(node instanceof XmlStartElement) {
                  XmlStartElement startElement = (XmlStartElement) node;
                  Element element = new Element(startElement.getLocalName());
                  element.addAttributes(startElement.getAttributes());
                  currentPath.addLast(element);
                  if(xmlPath.matches(currentPath)) {
                      nodeQueue.push(node);
                      currentPath.removeLast();
                      return true;
                  }
              } else if(node instanceof XmlEndElement) {
                  if(currentPath.getLast() instanceof Content) {
                      currentPath.removeLast();
                  }
                  currentPath.removeLast();
              } else if(node instanceof XmlContent) {
                  XmlContent content = (XmlContent) node;
                  if(currentPath.getLast() instanceof Content) {
                      currentPath.removeLast();
                  }
                  currentPath.addLast(new Content(content.getText()));
              } else {
                  throw new XmlReaderException("Unknown XmlNode type: " + node);
              }
          }
          return false;
      }
docs: Find position in input stream that matches XML path query
  @param xmlPathQuery XML path query
  @return {@code boolean} true if found