if (!aRoot) return aRoot;  nsCOMPtr<nsIContent> cN = aRoot; nsCOMPtr<nsIContent> cChild; cN->ChildAt(0,*getter_AddRefs(cChild)); while ( cChild ) { cN = cChild;
nsCOMPtr<nsIContent> deepFirstChild;  if (aRoot) { nsCOMPtr<nsIContent> cN = aRoot; nsCOMPtr<nsIContent> cChild;
nsCOMPtr<nsIContent> nsContentIterator::GetDeepFirstChild(nsCOMPtr<nsIContent> aRoot){  if (!aRoot)     return aRoot;      nsCOMPtr<nsIContent> cN = aRoot;  nsCOMPtr<nsIContent> cChild;  cN->ChildAt(0,*getter_AddRefs(cChild));  while ( cChild )  {    cN = cChild;    cN->ChildAt(0,*getter_AddRefs(cChild));  }  return cN;}