}
if (isAnyNode && node.getNodeType() == Node.DOCUMENT_NODE) return false;
  boolean matches(QName mode, Node node)  {    if ((mode == null && this.mode != null) ||        (mode != null && !mode.equals(this.mode)))      {        return false;      }    if (match == null)      {        return false;      }    return match.matches(node);  }