final XMLInputFactory factory = XMLInputFactory.newInstance();
factory.setProperty(XMLInputFactory.IS_NAMESPACE_AWARE, Boolean.TRUE);
factory.setProperty(XMLInputFactory.IS_VALIDATING, Boolean.FALSE);
final XMLStreamReader parser = factory.createXMLStreamReader(reader);
final MemTreeBuilder builder = new MemTreeBuilder();
builder.startDocument();
int event;
boolean finish = false;
while ((event = parser.next()) != XMLStreamConstants.END_DOCUMENT) {
switch (event) {
case XMLStreamConstants.START_ELEMENT :