case Axis.ANCESTOR_OR_SELF:
boolean matchesDoc = nodeTest.matches(TextFragmentValue.this);
boolean matchesText = nodeTest.matches(this);
if (matchesDoc && matchesText) {
NodeInfo[] nodes = {this, TextFragmentValue.this};
return new NodeArrayIterator(nodes);
} else if (matchesDoc && !matchesText) {
return SingleNodeIterator.makeIterator(TextFragmentValue.this);
} else if (matchesText && !matchesDoc) {
return SingleNodeIterator.makeIterator(this);
} else {