SetNewRowGroup();
SetNewRowGroup(PR_FALSE);
BCMapCellIterator::Next(BCMapCellInfo& aMapInfo){  if (mAtEnd) ABORT0();  aMapInfo.Reset();  mIsNewRow = PR_FALSE;  mColIndex++;  while ((mRowIndex <= mAreaEnd.y) && !mAtEnd) {    for (; mColIndex <= mAreaEnd.x; mColIndex++) {      PRInt32 rgRowIndex = mRowIndex - mRowGroupStart;      CellData* cellData = mCellMap->GetDataAt(*mTableCellMap, rgRowIndex, mColIndex, PR_FALSE);      if (!cellData) { // add a dead cell data        nsRect damageArea;        cellData = mCellMap->AppendCell(*mTableCellMap, nsnull, rgRowIndex, PR_FALSE, damageArea); if (!cellData) ABORT0();      }      if (cellData && (cellData->IsOrig() || cellData->IsDead())) {        SetInfo(mRow, mColIndex, cellData, aMapInfo);        return;      }    }    if (mRowIndex >= mRowGroupEnd) {      SetNewRowGroup(); // could set mAtEnd    }    else {      SetNewRow(); // could set mAtEnd    }  }  mAtEnd = PR_TRUE;}