in src/main/java/org/apache/servicemix/jbi/jaxp/FragmentStreamReader.java [67:98]
public int next() throws XMLStreamException {
switch (state) {
case STATE_START_DOC:
state = STATE_FIRST_ELEM;
event = START_DOCUMENT;
break;
case STATE_FIRST_ELEM:
state = STATE_FIRST_RUN;
depth++;
event = START_ELEMENT;
break;
case STATE_FIRST_RUN:
case STATE_RUN:
state = STATE_RUN;
event = getParent().next();
if (event == START_ELEMENT) {
depth++;
} else if (event == END_ELEMENT) {
depth--;
if (depth == 0) {
state = STATE_END_DOC;
}
}
break;
case STATE_END_DOC:
event = END_DOCUMENT;
break;
default:
throw new IllegalStateException();
}
return event;
}