rv = MakeContentObject(nsHTMLTag(id), aNodeInfo, nsnull, nsnull,
rv = MakeContentObject(nsHTMLTag(id), aNodeInfo, nsnull,
NS_CreateHTMLElement(nsIHTMLContent** aResult, nsINodeInfo *aNodeInfo,                     PRBool aCaseSensitive){  nsresult rv = NS_OK;  nsIParserService* parserService = nsContentUtils::GetParserServiceWeakRef();  if (!parserService)    return NS_ERROR_OUT_OF_MEMORY;  nsCOMPtr<nsIAtom> name = aNodeInfo->GetNameAtom();  // Find tag in tag table  PRInt32 id;  if (aCaseSensitive) {    parserService->HTMLCaseSensitiveAtomTagToId(name, &id);  } else {    parserService->HTMLAtomTagToId(name, &id);  }  if (aCaseSensitive) {    rv = MakeContentObject(nsHTMLTag(id), aNodeInfo, nsnull, nsnull,                           aResult, PR_FALSE, PR_FALSE);  } else {    // Revese map id to name to get the correct character case in    // the tag name.    nsCOMPtr<nsINodeInfo> kungFuDeathGrip;    nsINodeInfo *nodeInfo = aNodeInfo;    if (nsHTMLTag(id) != eHTMLTag_userdefined) {      const PRUnichar *tag = nsnull;      parserService->HTMLIdToStringTag(id, &tag);      NS_ASSERTION(tag, "What? Reverse mapping of id to string broken!!!");      if (!name->Equals(nsDependentString(tag))) {        nsCOMPtr<nsIAtom> atom = do_GetAtom(tag);        rv = aNodeInfo->NameChanged(atom, getter_AddRefs(kungFuDeathGrip));        NS_ENSURE_SUCCESS(rv, rv);        nodeInfo = kungFuDeathGrip;      }    }    rv = MakeContentObject(nsHTMLTag(id), nodeInfo, nsnull, nsnull, aResult,                           PR_FALSE, PR_FALSE);  }  return rv;}