public int nextNode()
  {
  	if(m_foundLast)
  		return DTM.NULL;

    int next;

    if (null != m_exprObj)
    {
      m_lastFetched = next = m_exprObj.nextNode();
    }
    else
      m_lastFetched = next = DTM.NULL;

    // m_lastFetched = next;
    if (DTM.NULL != next)
    {
      m_pos++;
      return next;
    }
    else
    {
      m_foundLast = true;

      return DTM.NULL;
    }
  }
public int nextNode ( ) { if ( m_foundLast ) return DTM . NULL ; int next ; if ( null != m_exprObj ) { m_lastFetched = next = m_exprObj . nextNode ( ) ; } else m_lastFetched = next = DTM . NULL ; if ( DTM . NULL != next ) { m_pos ++ ; return next ; } else { m_foundLast = true ; return DTM . NULL ; } }
Returns the next node in the set and advances the position of the
iterator in the set. After a NodeIterator is created, the first call
to nextNode() returns the first node in the set.

@return  The next <code>Node</code> in the set being iterated over, or
<code>null</code> if there are no more members in that set.