AdjustRowIndices(&aPresContext, aFirstRowIndex, -aNumRowsToRemove);
AdjustRowIndices(&aPresContext, firstRowIndex, -aNumRowsToRemove);
void nsTableFrame::RemoveRows(nsIPresContext&  aPresContext,                              PRInt32          aFirstRowIndex,                              PRInt32          aNumRowsToRemove,                              PRBool           aConsiderSpans){  //printf("removeRowsBefore firstRow=%d numRows=%d\n", aFirstRowIndex, aNumRowsToRemove);  //Dump(PR_TRUE, PR_FALSE, PR_TRUE);  nsTableCellMap* cellMap = GetCellMap();  if (cellMap) {    cellMap->RemoveRows(&aPresContext, aFirstRowIndex, aNumRowsToRemove, aConsiderSpans);    // only remove cols that are of type eTypeAnonymous cell (they are at the end)    PRInt32 numColsInMap = GetColCount(); // cell map's notion of num cols    PRInt32 numColsInCache = mColFrames.Count();    PRInt32 numColsNotRemoved = DestroyAnonymousColFrames(aPresContext, numColsInCache - numColsInMap);    // if the cell map has fewer cols than the cache, correct it    if (numColsNotRemoved > 0) {      cellMap->AddColsAtEnd(numColsNotRemoved);    }  }  AdjustRowIndices(&aPresContext, aFirstRowIndex, -aNumRowsToRemove);  //printf("removeRowsAfter\n");  //Dump(PR_TRUE, PR_FALSE, PR_TRUE);}