public XElement Parse(TableBuilder tableBuilder = null) { var paragraphs = new XElement("root"); bool first = true; foreach (var paragraph in Paragraphs) { int tIndex = tableBuilder == null ? -1 : tableBuilder.GetTableIndexFor(paragraph.Range); if (tableBuilder != null && tIndex != -1 && tableBuilder.HasRetrieved(tIndex)) { continue; } if (first) { CellStyle = GetCellStyle(((Style)paragraph.get_Style()).NameLocal); first = false; } var temp = ParseParagraph(paragraph); if (temp != null) { paragraphs.Add(temp); } } var flush = _listBuilder.Flush(); if (flush != null) { paragraphs.Add(flush); } return(paragraphs); }