if (mFirst == mCurNode) return NS_OK; mCurNode = mFirst;
mGenIter = 0; if (mSelectBefore) { mCurSideOfContent = -1; FillGenIter(mCurSideOfContent); } if (!mGenIter) mCurSideOfContent = 0;
nsresult nsContentIterator::First(){  if (!mFirst)     return NS_ERROR_FAILURE;  mIsDone = PR_FALSE;  if (mFirst == mCurNode)     return NS_OK;  mCurNode = mFirst;  return NS_OK;}