public void addCell(int rowIndex, int columnIndex) {if (rowIndex > _lastDefinedRow) return;if (_currentRowIndex == -1) {_currentRowIndex = rowIndex;_firstColumnIndex = columnIndex;_lastColumnIndex = columnIndex;} else {if (_currentRowIndex == rowIndex && _lastColumnIndex+1 == columnIndex) {_lastColumnIndex = columnIndex;} else {if (_currentRectangleGroup == null) {_currentRectangleGroup = new BlankCellRectangleGroup(_currentRowIndex, _firstColumnIndex, _lastColumnIndex);} else {if (!_currentRectangleGroup.acceptRow(_currentRowIndex, _firstColumnIndex, _lastColumnIndex)) {_rectangleGroups.add(_currentRectangleGroup);_currentRectangleGroup = new BlankCellRectangleGroup(_currentRowIndex, _firstColumnIndex, _lastColumnIndex);}}_currentRowIndex = rowIndex;_firstColumnIndex = columnIndex;_lastColumnIndex = columnIndex;}}}

public void AddCell(int rowIndex, int columnIndex){if (_currentRowIndex == -1){_currentRowIndex = rowIndex;_firstColumnIndex = columnIndex;_lastColumnIndex = columnIndex;}else{if (_currentRowIndex == rowIndex && _lastColumnIndex + 1 == columnIndex){_lastColumnIndex = columnIndex;}else{if (_currentRectangleGroup == null){_currentRectangleGroup = new BlankCellRectangleGroup(_currentRowIndex, _firstColumnIndex, _lastColumnIndex);}else{if (!_currentRectangleGroup.AcceptRow(_currentRowIndex, _firstColumnIndex, _lastColumnIndex)){_rectangleGroups.Add(_currentRectangleGroup);_currentRectangleGroup = new BlankCellRectangleGroup(_currentRowIndex, _firstColumnIndex, _lastColumnIndex);}}_currentRowIndex = rowIndex;_firstColumnIndex = columnIndex;_lastColumnIndex = columnIndex;}}}
