code: protected int getNextNode()
    {
      if (m_foundLast)
        return DTM.NULL;
  
      if (m_isFresh)
      {
        m_currentNode = m_traverser.first(m_root);
        m_isFresh = false;
      }
      // I shouldn't have to do this the check for current node, I think.
      // numbering\numbering24.xsl fails if I don't do this.  I think 
      // it occurs as the walkers are backing up. -sb
      else if(DTM.NULL != m_currentNode) 
      {
        m_currentNode = m_traverser.next(m_root, m_currentNode);
      }
  
      if (DTM.NULL == m_currentNode)
        this.m_foundLast = true;
  
      return m_currentNode;
    }
docs: Get the next node in document order on the axes.
  
  @return the next node in document order on the axes, or null.