if (pe instanceof NodeInfo) {
NodeInfo node = (NodeInfo)pe;
switch (node.getNodeKind()) {
case Type.DOCUMENT: {
if (node instanceof TinyNodeImpl) {
return new TinyTreeEventIterator(((TinyNodeImpl)node));
} else {
SequenceIterator content = node.iterateAxis(Axis.CHILD);
EventIterator contentEvents = new EventIteratorOverSequence(content);
return new BracketedDocumentIterator(
StartDocumentEvent.getInstance(),
new Decomposer(contentEvents, config),
EndDocumentEvent.getInstance());
}
}
case Type.ELEMENT: {
if (node instanceof TinyNodeImpl) {
return new TinyTreeEventIterator(((TinyNodeImpl)node));
} else {
SequenceIterator content = node.iterateAxis(Axis.CHILD);
EventIterator contentEvents = new EventIteratorOverSequence(content);
StartElementEvent see = new StartElementEvent(config);
see.setNameCode(node.getNameCode());