public override XmlNode Item(int index) {
if ( rootNode == null || index < 0 )
return null;
if( this.empty == true )
return null;
if ( curInd == index )
return curElem;
int nDiff = index - curInd;
bool bForward = ( nDiff > 0 );
if ( nDiff < 0 )
nDiff = -nDiff;
XmlNode node;
if ( ( node = GetNthMatchingNode( curElem, bForward, nDiff ) ) != null ) {
curInd = index;
curElem = node;
return curElem;
}
return null;
}