public void TwoRootForest()
        {
            var path1   = Path.GetFullPath(Path.Combine(RelativePath, "gp"));
            var path2   = Path.GetFullPath(Path.Combine(RelativePath, "simple"));
            var builder = new ParameterForestBuilder();
            var loc1    = new ParameterSourceLocator(path1);
            var loc2    = new ParameterSourceLocator(path2);
            var forest  = builder.Build(new[] { loc1, loc2 });

            Assert.AreEqual(forest.Sources.Count, 2);
            context.WriteLine(Divider);
            context.WriteLine("Source #1");
            context.WriteLine(Divider);
            context.WriteLine(forest.Sources[loc1.Path].ToXml().ToString());
            context.WriteLine(Divider);
            context.WriteLine("Source #2");
            context.WriteLine(Divider);
            context.WriteLine(forest.Sources[loc2.Path].ToXml().ToString());
            context.WriteLine(Divider);
            if (forest.Nodes.Count > 0)
            {
                context.WriteLine("Nodes:");
            }
            context.WriteLine(Divider);
            foreach (var node in forest.Nodes)
            {
                context.WriteLine("{0}", node.Key);
            }
        }
        public void ECRootForestPropertyFileHierarchy()
        {
            var path    = Path.GetFullPath(RelativePath);
            var builder = new ParameterForestBuilder();
            var loc     = new ParameterSourceLocator(path);
            var forest  = builder.Build(new[] { loc });

            Assert.AreEqual(forest.Sources.Count, 1);

            //context.WriteLine("File Ineritance:");
            //context.WriteLine(Divider);
            //context.WriteLine("");
            //foreach (var entry in forest.Nodes)
            //{
            //    WriteNodeAndParentNames(entry.Value, forest.Nodes, "");
            //}

            context.WriteLine(Divider);
            context.WriteLine("FileDictionaryTrees:");
            context.WriteLine(Divider);
            foreach (var entry in forest.Trees)
            {
                WriteTree(entry.Value, "");
            }
            context.WriteLine(Divider);
        }