");             builder.AddEndpoint(endpoint);              // Act             var root = builder.BuildDfaTree();              // Assert             Assert.Same(endpoint, Assert.Single(root.Matches));             Assert.Null(root.Parameters);             Assert.Null(root.Literals);         }          [Fact]         public void BuildDfaTree_SingleEndpoint_Literals()         {             // Arrange             var builder = CreateDfaMatcherBuilder();              var endpoint = CreateEndpoint("a/b/c");             builder.AddEndpoint(endpoint);              // Act             var root = builder.BuildDfaTree();              // Assert             Assert.Null(root.Matches);             Assert.Null(root.Parameters);              var next = Assert.Single(root.Literals);             Assert.Equal("a", next.Key);              var a = next.Value;             Assert.Null(a.Matches);             Assert.Null(a.Parameters);              next = Assert.Single(a.Literals);             Assert.Equal("b", next.Key);              var b = next.Value;             Assert.Null(b.Matches);             Assert.Null(b.Parameters);              next = Assert.Single(b.Literals);             Assert.Equal("c", next.Key);              var c = next.Value;             Assert.Same(endpoint, Assert.Single(c.Matches));             Assert.Null(c.Parameters);             Assert.Null(c.Literals);         }          [Fact]         public void BuildDfaTree_SingleEndpoint_Parameters()         {             // Arrange             var builder = CreateDfaMatcherBuilder();              var endpoint = CreateEndpoint("{a}/{