in src/main/java/org/apache/neethi/builders/converters/AbstractStaxConverter.java [63:114]
public Iterator<XMLStreamReader> getChildren(final XMLStreamReader s) {
final QName base = s.getName();
try {
int evt = s.getEventType();
if (s.hasNext()) {
evt = s.next();
}
while (s.hasNext()
&& evt != XMLStreamReader.END_ELEMENT
&& evt != XMLStreamReader.START_ELEMENT) {
evt = s.next();
}
} catch (Exception ex) {
return null;
}
return new Iterator<XMLStreamReader>() {
boolean first = true;
public boolean hasNext() {
if (first) {
first = false;
return s.getEventType() != XMLStreamReader.END_ELEMENT;
}
try {
int evt = s.next();
while (s.hasNext()
&& evt != XMLStreamReader.END_ELEMENT
&& evt != XMLStreamReader.START_ELEMENT) {
evt = s.next();
}
if (evt == XMLStreamReader.END_ELEMENT
&& !s.getName().equals(base)) {
evt = s.next();
while (s.hasNext()
&& evt != XMLStreamReader.END_ELEMENT
&& evt != XMLStreamReader.START_ELEMENT) {
evt = s.next();
}
}
return evt == XMLStreamReader.START_ELEMENT;
} catch (Exception ex) {
return false;
}
}
public XMLStreamReader next() {
return s;
}
public void remove() {
throw new UnsupportedOperationException();
}
};
}