public FlowDocument Deserialize(string fileName)
 {
     var xmlDocument = Extract(fileName);
     var flowDocument = new FlowDocument();
     var factory = new DeserializeBlockStrategyFactory();
     foreach(XmlNode blockNode in xmlDocument.LastChild.ChildNodes) {
         factory.GetStrategy(blockNode.Name).Deserialize(blockNode, flowDocument);
     }
     return flowDocument;
 }
        public FlowDocument Deserialize(string fileName)
        {
            var xmlDocument  = Extract(fileName);
            var flowDocument = new FlowDocument();
            var factory      = new DeserializeBlockStrategyFactory();

            foreach (XmlNode blockNode in xmlDocument.LastChild.ChildNodes)
            {
                factory.GetStrategy(blockNode.Name).Deserialize(blockNode, flowDocument);
            }
            return(flowDocument);
        }