text: public void VisitCellsForRow(int rowIndex, RecordVisitor rv){CellValueRecordInterface[] rowCells = records[rowIndex];if (rowCells == null){throw new ArgumentException("Row [" + rowIndex + "] is empty");}for (int i = 0; i < rowCells.Length; i++){RecordBase cvr = (RecordBase)rowCells[i];if (cvr == null){continue;}int nBlank = CountBlanks(rowCells, i);if (nBlank > 1){rv.VisitRecord(CreateMBR(rowCells, i, nBlank));i += nBlank - 1;}else if (cvr is RecordAggregate){RecordAggregate agg = (RecordAggregate)cvr;agg.VisitContainedRecords(rv);}else{rv.VisitRecord((Record)cvr);}}}