public void parse(XMLEventReader reader) throws Exception { while (reader.hasNext()) { XMLEvent event = ResultParser.getNextEvent(reader); if (event.isEndElement()) break; StartElement element = event.asStartElement(); if (element.getName().getLocalPart().equals(PAGE_NODE)) { String position = element.getAttributeByName(new QName(POSITION_NODE)).getValue(); boolean selected = ResultParser.isSelected(element); ResultPage page = new ResultPage(position, selected); page.parse(reader); pages.add(page); } else { ResultParser.parseUnknownTag(reader); } } }