@Override
    public Matcher descend(String namespace, String name) {
        Matcher next = then.descend(namespace, name);
        if (next == FAIL || next == then) {
            return this;
        } else {
            return new CompositeMatcher(next, this);
        }
    }
Evaluation state of a <code>...//...</code> XPath expression. Applies the
contained evaluation state to the current element and all its descendants.
tika-core/src/main/java/org/apache/tika/sax/xpath/SubtreeMatcher.java