private void InitRows() { if (_rowsFound) { return; } _rows = new List <TableRow>(); int rowStart = 0; int rowEnd = 0; int numParagraphs = NumParagraphs; while (rowEnd < numParagraphs) { Paragraph startRowP = GetParagraph(rowStart); Paragraph endRowP = GetParagraph(rowEnd); rowEnd++; if (endRowP.IsTableRowEnd() && endRowP.GetTableLevel() == _tableLevel) { _rows.Add(new TableRow(startRowP.StartOffset, endRowP .EndOffset, this, _tableLevel)); rowStart = rowEnd; } } _rowsFound = true; }