}
namespaceContext = resolveNamespaceContext(node,namespaceContext);
// evaluate all parts and create any that are missing if
// auto create has been set to true
Part currentPart = null;
int currentPos = 0;
while (getPartCount() > currentPos) {
currentPart = getPart(currentPos);
currentPos++;
prevObject = curObject;
curObject = evaluatePart(curObject, currentPart, namespaceContext);
if (curObject == null) {
if (autoCreate) {
curObject = createPart(prevObject, currentPart, namespaceContext);
}
else {
throw new XPathException(null,"Evaluation error for " // $NLS-AbstractSimpleExpression.Evaluationerrorfor.1-1$
+ currentPart.toString() + " of the XPATH:" // $NLS-AbstractSimpleExpression.oftheXPATH-1$
+ getExpression());
}
}
if (!isValid(curObject)) {
throw new XPathException(null,