public void TestIisExpressDuplicateSection()
        {
            var directoryName = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            Environment.SetEnvironmentVariable("JEXUS_TEST_HOME", directoryName);

            if (directoryName == null)
            {
                return;
            }

            string Current = Path.Combine(directoryName, @"applicationHost.config");
            string Original = Path.Combine(directoryName, @"original3.config");
            TestHelper.CopySiteConfig(directoryName, "original_duplicate_section.config");
            File.Copy(Original, Current, true);
            TestHelper.FixPhysicalPathMono(Current);
#if IIS
            var server = new ServerManager(Current);
#else
            var server = new IisExpressServerManager(Current);
#endif
            var config = server.Sites[0].Applications[0].GetWebConfiguration();
            var section =
                config.GetSection("system.webServer/defaultDocument");
            Assert.Equal(true, section["enabled"]);
            var files = section.GetCollection("files");
            Assert.Equal(8, files.Count);
            Assert.Equal("home2.html", files[0]["value"]);
            Assert.True(files[0].IsLocallyStored);
            Assert.Equal("home1.html", files[1]["value"]);
            Assert.False(files[1].IsLocallyStored);

            files.RemoveAt(1);
            server.CommitChanges();

            const string Expected = @"expected3.config";
            TestHelper.FixPhysicalPathMono(Expected);
            XmlAssert.Equal(Expected, Current);
            TestHelper.AssertSiteConfig(directoryName, Expected);
        }