nsTableColType insertedColType = aColFrame.GetType();
nsTableColType insertedColType = aColFrame.GetColType();
void nsTableFrame::InsertCol(nsIPresContext&  aPresContext,                             nsTableColFrame& aColFrame,                             PRInt32          aColIndex){  mColFrames.InsertElementAt(&aColFrame, aColIndex);  nsTableColType insertedColType = aColFrame.GetType();  PRInt32 numCacheCols = mColFrames.Count();  nsTableCellMap* cellMap = GetCellMap();  if (cellMap) {    PRInt32 numMapCols = cellMap->GetColCount();    if (numCacheCols > numMapCols) {      PRBool removedFromCache = PR_FALSE;      if (eColAnonymousCell != insertedColType) {        nsTableColFrame* lastCol = (nsTableColFrame *)mColFrames.ElementAt(numCacheCols - 1);        if (lastCol) {          nsTableColType lastColType = lastCol->GetType();          if (eColAnonymousCell == lastColType) {            // remove the col from the cache            mColFrames.RemoveElementAt(numCacheCols - 1);            // remove the col from the eColGroupAnonymousCell col group            nsTableColGroupFrame* lastColGroup = (nsTableColGroupFrame *)mColGroups.LastChild();            if (lastColGroup) {              lastColGroup->RemoveChild(aPresContext, *lastCol, PR_FALSE);            }            // remove the col group if it is empty            if (lastColGroup->GetColCount() <= 0) {              mColGroups.DestroyFrame(&aPresContext, (nsIFrame*)lastColGroup);            }            removedFromCache = PR_TRUE;          }        }      }      if (!removedFromCache) {        cellMap->AddColsAtEnd(1);      }    }  }}