cellMap->InsertRows(&aPresContext, aRowGroupFrame, aRowFrames, aRowIndex, aConsiderSpans);
cellMap->InsertRows(aRowGroupFrame, aRowFrames, aRowIndex, aConsiderSpans, damageArea);
nsTableFrame::InsertRows(nsIPresContext&       aPresContext,                         nsTableRowGroupFrame& aRowGroupFrame,                         nsVoidArray&          aRowFrames,                         PRInt32               aRowIndex,                         PRBool                aConsiderSpans){  //printf("insertRowsBefore firstRow=%d \n", aRowIndex);  //Dump(PR_TRUE, PR_FALSE, PR_TRUE);  PRInt32 numColsToAdd = 0;  nsTableCellMap* cellMap = GetCellMap();  if (cellMap) {    PRInt32 origNumRows = cellMap->GetRowCount();    PRInt32 numNewRows = aRowFrames.Count();    cellMap->InsertRows(&aPresContext, aRowGroupFrame, aRowFrames, aRowIndex, aConsiderSpans);    PRInt32 numColsInMap = GetColCount(); // cell map's notion of num cols    PRInt32 numColsInCache = mColFrames.Count();    numColsToAdd = numColsInMap - numColsInCache;    if (numColsToAdd > 0) {      // this sets the child list, updates the col cache and cell map      CreateAnonymousColFrames(aPresContext, numColsToAdd, eColAnonymousCell,                                PR_TRUE);    }    if (aRowIndex < origNumRows) {      AdjustRowIndices(&aPresContext, aRowIndex, numNewRows);    }    // assign the correct row indices to the new rows. If they were adjusted above    // it may not have been done correctly because each row is constructed with index 0    for (PRInt32 rowX = 0; rowX < numNewRows; rowX++) {      nsTableRowFrame* rowFrame = (nsTableRowFrame *) aRowFrames.ElementAt(rowX);      rowFrame->SetRowIndex(aRowIndex + rowX);    }  }  //printf("insertRowsAfter \n");  //Dump(PR_TRUE, PR_FALSE, PR_TRUE);  return numColsToAdd;}