if (!mAllContent) {
if (!mAllContent && !mParseError) {
nsXMLFragmentContentSink::DidBuildModel(){  PopContent();  // remove mRoot pushed above    if (!mAllContent) {    NS_ASSERTION(mEndnote, "<endnote> missing in fragment string.");    if (mEndnote) {      NS_ASSERTION(mRoot->GetChildCount() == 1, "contents have too many children!");      // move guts      for (PRUint32 child = mEndnote->GetChildCount(); child > 0; child--) {        nsCOMPtr<nsIContent> firstchild = mEndnote->GetChildAt(0);        mEndnote->RemoveChildAt( 0, PR_FALSE );        mRoot->AppendChildTo( firstchild, PR_FALSE, PR_FALSE );      }      // delete outer content      mRoot->RemoveChildAt( 0, PR_FALSE );    }    // else just leave the content in the fragment.  or should we fail?  }  nsCOMPtr<nsIParser> kungFuDeathGrip(mParser);  // Drop our reference to the parser to get rid of a circular  // reference.  mParser = nsnull;  return NS_OK;}