return NextNode(address_of(mCurNode), &mIndexes);
nsCOMPtr<nsIContent> nextNode; if (NS_FAILED(GetNextSibling(mCurNode, address_of(nextNode), nsnull))) return NS_OK;  PRInt32 i = mEndNodes.IndexOf((void*)nextNode); while (i != -1) {   nsCOMPtr<nsIContent> cChild; nextNode->ChildAt(0, getter_AddRefs(cChild)); if (!cChild) return NS_ERROR_NULL_POINTER;     nextNode = cChild; i = mEndNodes.IndexOf((void*)nextNode); }  mCurNode = do_QueryInterface(nextNode); return NS_OK;
nsresult nsContentIterator::Next(){  if (mIsDone)     return NS_OK;  if (!mCurNode)     return NS_OK;  if (mCurNode == mLast)   {    mIsDone = PR_TRUE;    return NS_OK;  }    return NextNode(address_of(mCurNode), &mIndexes);}