return false;
boolean matched = false;
for (int i = match.getLength()-1; i >= 0; i--) {
Expression expr = match.getExpression(i);
if (!expr.match(contextSequence, item))
return false;
if (expr instanceof LocationStep) {
item = (Item)((NodeValue)item).getNode().getParentNode();
}