public string ToXml()
        {
            var creator = new DynamicBackwardXmlCreator(new BackwardXmlStringProducer(new StringXmlBuilder(new StringBuilder())));
            Accept(creator);

            return creator.ToString();
        }
        private XElement ToXElement()
        {
            var producer = new BackwardXElementProducer();
            var creator = new DynamicBackwardXmlCreator(producer);
            Accept(creator);

            return producer.ToXElement();
        }
 public DynamicBackwardXmlCreatorTests()
 {
     upwardVisitor = Substitute.For<IUpwardElementVisitor>();
     sut = new DynamicBackwardXmlCreator(upwardVisitor);
 }