}
}
private PageNode unmarshalNode(StaxNavigator<Element> navigator) throws StaxNavException {
PageNode node = new PageNode();
I18NString labels = new I18NString();
ArrayList<PageNode> children = new ArrayList<PageNode>();
Element current = navigator.child();
while (current != null) {
switch (navigator.getName()) {
case URI: // For backwards compatibility
current = navigator.sibling();
break;
case NAME:
node.setName(navigator.getContent());
current = navigator.sibling();
break;
case LABEL:
labels.add(Utils.parseLocalizedString(navigator));
current = navigator.sibling();
break;
case ICON:
node.setIcon(navigator.getContent());
current = navigator.sibling();