public XmlHandler.XmlEvent next() throws XMLStreamException {
while (next == null && xmlr.hasNext()) {
XMLEvent event = xmlr.nextEvent();
switch (event.getEventType()) {
case START_ELEMENT:
currentPath.add(event.asStartElement().getName().getLocalPart());
pathContent.add(new StringBuilder());
if (prefixTrie.contains(currentPath)) {
next = new XmlEvent(EventType.OPEN_ELEMENT, currentPath, null);
}
break;