if (!aRoot) return NS_ERROR_NULL_POINTER; mIsDone = PR_FALSE; nsCOMPtr<nsIContent> root( do_QueryInterface(aRoot) ); mFirst = GetDeepFirstChild(root); mLast = root; mCommonParent = root; mCurNode = mFirst; return NS_OK;
mTracker = aTracker; mSelectBefore = aSelectBefore; mSelectAfter = aSelectAfter; return nsContentIterator::Init(aRange);
nsresult nsContentIterator::Init(nsIContent* aRoot){  if (!aRoot)     return NS_ERROR_NULL_POINTER;   mIsDone = PR_FALSE;  nsCOMPtr<nsIContent> root( do_QueryInterface(aRoot) );  mFirst = GetDeepFirstChild(root);   mLast = root;  mCommonParent = root;  mCurNode = mFirst;  return NS_OK;}