else { NS_ASSERTION(PR_FALSE, "CreateAnonymousColFrames called incorrectly"); return; }  if (eColGroupContent != newColGroupType) { PRInt32 colIndex = (colGroupFrame) ? colGroupFrame->GetStartColumnIndex() + colGroupFrame->GetColCount() : 0; colGroupFrame = CreateAnonymousColGroupFrame(aPresContext, newColGroupType); if (!colGroupFrame) { return; } mColGroups.AppendFrame(this, colGroupFrame); colGroupFrame->SetStartColumnIndex(colIndex); }  nsIFrame* prevCol = (aDoAppend) ? colGroupFrame->GetChildList().LastChild() : aPrevColIn;  nsIFrame* firstNewFrame; CreateAnonymousColFrames(aPresContext, *colGroupFrame, aNumColsToAdd, aColType, PR_TRUE, prevCol, &firstNewFrame);
nsTableFrame::CreateAnonymousColFrames(nsIPresContext& aPresContext,                                       PRInt32         aNumColsToAdd,                                       nsTableColType  aColType,                                       PRBool          aDoAppend,                                       nsIFrame*       aPrevColIn){  // get the last col group frame  nsTableColGroupFrame* colGroupFrame = nsnull;  nsIFrame* childFrame = mColGroups.FirstChild();  while (childFrame) {    nsIAtom* frameType = nsnull;    childFrame->GetFrameType(&frameType);    if (nsLayoutAtoms::tableColGroupFrame == frameType) {      colGroupFrame = (nsTableColGroupFrame *)childFrame;    }    childFrame->GetNextSibling(&childFrame);    NS_IF_RELEASE(frameType);  }  nsTableColGroupType lastColGroupType = eColGroupContent;   nsTableColGroupType newColGroupType  = eColGroupContent;   if (colGroupFrame) {    lastColGroupType = colGroupFrame->GetType();  }  if (eColAnonymousCell == aColType) {    if (eColGroupAnonymousCell != lastColGroupType) {      newColGroupType = eColGroupAnonymousCell;    }  }  else if (eColAnonymousCol == aColType) {    if (eColGroupAnonymousCol != lastColGroupType) {      newColGroupType = eColGroupAnonymousCol;    }  }  else {    NS_ASSERTION(PR_FALSE, "CreateAnonymousColFrames called incorrectly");    return;  }  if (eColGroupContent != newColGroupType) {    PRInt32 colIndex = (colGroupFrame) ? colGroupFrame->GetStartColumnIndex() + colGroupFrame->GetColCount()                                       : 0;    colGroupFrame = CreateAnonymousColGroupFrame(aPresContext, newColGroupType);    if (!colGroupFrame) {      return;    }    mColGroups.AppendFrame(this, colGroupFrame); // add the new frame to the child list    colGroupFrame->SetStartColumnIndex(colIndex);  }  nsIFrame* prevCol = (aDoAppend) ? colGroupFrame->GetChildList().LastChild() : aPrevColIn;  nsIFrame* firstNewFrame;  CreateAnonymousColFrames(aPresContext, *colGroupFrame, aNumColsToAdd,                            aColType, PR_TRUE, prevCol, &firstNewFrame);}