if (mCurNode == mLast)
nsresult result = NS_OK;  if (mGenIter) { result = mGenIter->Next(); if (NS_FAILED(result) || (NS_SUCCEEDED(mGenIter->IsDone()) )) { mGenIter = 0; } else return result; }  if (mCurNode == mLast && !mGenIter)
nsresult nsContentIterator::Next(){  if (mIsDone)     return NS_OK;  if (!mCurNode)     return NS_OK;  if (mCurNode == mLast)   {    mIsDone = PR_TRUE;    return NS_OK;  }    return NextNode(&mCurNode);}