public void Deserialize(XmlNode xmlNode, FlowDocument flowDocument)
        {
            var paragraph = new Paragraph();
            foreach(XmlNode inline in xmlNode.ChildNodes) {
                var run = new Run(); //TODO: other inlines ?
                foreach(XmlAttribute attribute in inline.Attributes) {
                    if (attribute.Name != "StyleName")
                        run.GetType().GetProperty(attribute.Name).SetValue(run, ParagraphSerializationHelper.PropertyConverters[attribute.Name].ConvertFromString(attribute.InnerText));

                }
                if(xmlNode.Attributes["StyleName"] != null)
                    FlowDocumentHelper.SetStyleName(run, xmlNode.Attributes["StyleName"].InnerText);
                paragraph.Inlines.Add(run);
            }
            flowDocument.Blocks.Add(paragraph);
        }
        public void Deserialize(XmlNode xmlNode, FlowDocument flowDocument)
        {
            var list = new List{ MarkerStyle = _markerStyle };
            foreach (XmlNode listItemNode in xmlNode.ChildNodes)
            {
                var listItem = new ListItem();
                foreach (XmlNode listItemBlockNode in listItemNode.ChildNodes)
                {
                    var paragraph = new Paragraph();

                    foreach (XmlNode listItemInlineNode in listItemBlockNode.ChildNodes)
                    {
                        var run = new Run();
                        foreach (XmlAttribute attribute in listItemInlineNode.Attributes)
                        {
                            if (attribute.Name != "StyleName")
                                run.GetType().GetProperty(attribute.Name).SetValue(run,
                                    ParagraphSerializationHelper.PropertyConverters[attribute.Name].ConvertFromString(
                                        attribute.InnerText));
                        }
                        if(xmlNode.Attributes["StyleName"] != null)
                            FlowDocumentHelper.SetStyleName(run, xmlNode.Attributes["StyleName"].InnerText);
                        paragraph.Inlines.Add(run);
                    }
                    listItem.Blocks.Add(paragraph);
                }
                list.ListItems.Add(listItem);
            }
            flowDocument.Blocks.Add(list);
        }