code: public short acceptNode(int n, XPathContext xctxt)
    {
  
      try
      {
        xctxt.pushCurrentNode(n);
        xctxt.pushIteratorRoot(m_context);
        if(DEBUG)
        {
          System.out.println("traverser: "+m_traverser);
          System.out.print("node: "+n);
          System.out.println(", "+m_cdtm.getNodeName(n));
          // if(m_cdtm.getNodeName(n).equals("near-east"))
          System.out.println("pattern: "+m_pattern.toString());
          m_pattern.debugWhatToShow(m_pattern.getWhatToShow());
        }
        
        XObject score = m_pattern.execute(xctxt);
        
        if(DEBUG)
        {
          // System.out.println("analysis: "+Integer.toBinaryString(m_analysis));
          System.out.println("score: "+score);
          System.out.println("skip: "+(score == NodeTest.SCORE_NONE));
        }
  
        // System.out.println("\n::acceptNode - score: "+score.num()+"::");
        return (score == NodeTest.SCORE_NONE) ? DTMIterator.FILTER_SKIP 
                      : DTMIterator.FILTER_ACCEPT;
      }
      catch (javax.xml.transform.TransformerException se)
      {
  
        // TODO: Fix this.
        throw new RuntimeException(se.getMessage());
      }
      finally
      {
        xctxt.popCurrentNode();
        xctxt.popIteratorRoot();
      }
  
    }
docs: Test whether a specified node is visible in the logical view of a
  TreeWalker or NodeIterator. This function will be called by the
  implementation of TreeWalker and NodeIterator; it is not intended to
  be called directly from user code.
  @param n  The node to check to see if it passes the filter or not.
  @return  a constant to determine whether the node is accepted,
  rejected, or skipped, as defined  above .