if (nodeLocalName != null) { nodeLocalName = node.getNodeName(); }
String nodeLocalName = getLocalName(node);
  public boolean matches(Node node, int pos, int len)  {    switch (node.getNodeType())      {      case Node.ATTRIBUTE_NODE:        // Do not match namespace attributes        String uri = node.getNamespaceURI();        if (XMLConstants.XMLNS_ATTRIBUTE_NS_URI.equals(uri) ||            XMLConstants.XMLNS_ATTRIBUTE.equals(node.getPrefix()) ||            XMLConstants.XMLNS_ATTRIBUTE.equals(node.getNodeName()))          {            return false;          }        // Fall through      case Node.ELEMENT_NODE:        break;      default:        return false;      }    if (any)      {        return true;      }    String uri = qName.getNamespaceURI();    String nodeUri = node.getNamespaceURI();    String nodeLocalName = node.getLocalName();    if (nodeLocalName != null && !equal(uri, nodeUri))      {        return false;      }    if (anyLocalName)      {        return true;      }    String localName = qName.getLocalPart();    if (nodeLocalName != null)      {        nodeLocalName = node.getNodeName();      }    return (localName.equals(nodeLocalName));  }