rv = AppendChildTo(newFoot, PR_TRUE);
rv = AppendChildTo(newFoot, PR_TRUE, PR_FALSE);
nsHTMLTableElement::CreateTFoot(nsIDOMHTMLElement** aValue){  *aValue = nsnull;  nsresult rv = NS_OK;  nsCOMPtr<nsIDOMHTMLTableSectionElement> foot;  GetTFoot(getter_AddRefs(foot));  if (foot) { // return the existing tfoot    foot->QueryInterface(NS_GET_IID(nsIDOMHTMLElement), (void **)aValue);    NS_ASSERTION(nsnull!=*aValue, "foot must be a DOMHTMLElement");  }  else  { // create a new foot rowgroup    nsCOMPtr<nsIHTMLContent> newFoot;    nsCOMPtr<nsINodeInfo> nodeInfo;    mNodeInfo->NameChanged(nsHTMLAtoms::tfoot, *getter_AddRefs(nodeInfo));    rv = NS_NewHTMLTableSectionElement(getter_AddRefs(newFoot),nodeInfo);    if (NS_SUCCEEDED(rv) && newFoot) {      rv = AppendChildTo(newFoot, PR_TRUE);      newFoot->QueryInterface(NS_GET_IID(nsIDOMHTMLElement), (void **)aValue);    }  }  return NS_OK;}