} else {
newIndex = oldIndex.intValue() + 1;
}
}
indexMap.put(xPathFragment, newIndex);
XPathFragment predicateFragment = new XPathFragment();
predicateFragment.setNamespaceURI(xPathFragment.getNamespaceURI());
predicateFragment.setLocalName(xPathFragment.getLocalName());
predicateFragment.setIndexValue(newIndex);
resultNode = (XPathNode)nonAttributeChildrenMap.get(predicateFragment);
if (null == resultNode) {
predicateFragment.setIndexValue(-1);
for(int x = 0, length = attributes.getLength(); x<length; x++) {
XPathFragment conditionFragment = new XPathFragment();
conditionFragment.setLocalName(attributes.getLocalName(x));
conditionFragment.setNamespaceURI(attributes.getURI(x));
conditionFragment.setAttribute(true);
XPathPredicate condition = new XPathPredicate(conditionFragment, attributes.getValue(x));
predicateFragment.setPredicate(condition);
resultNode = (XPathNode) nonAttributeChildrenMap.get(predicateFragment);
if(null != resultNode) {
break;