private static void CreateConfigWithCallHandlers(ContainerElement c)
        {
            var interceptionElement = new InterceptionElement();
            var policy = new PolicyElement()
            {
                Name = "PolicyOne"
            };

            policy.MatchingRules.Add(new MatchingRuleElement()
            {
                Name = "All", TypeName = "AlwaysMatchingRule"
            });

            policy.CallHandlers.Add(new CallHandlerElement()
            {
                Name = "NamedRule"
            });

            policy.CallHandlers.Add(new CallHandlerElement()
            {
                Name     = "NameAndType",
                TypeName = "DoMoreRule"
            });

            policy.CallHandlers.Add(new CallHandlerElement()
            {
                Name     = "HandlerWithLifetime",
                TypeName = "DoSomethingRule",
                Lifetime = new LifetimeElement()
                {
                    TypeName = "singleton"
                }
            });

            var handlerWithMembers = new CallHandlerElement()
            {
                Name     = "HandlerWithElements",
                TypeName = "CallCountHandler"
            };

            handlerWithMembers.Injection.Add(new ConstructorElement());
            handlerWithMembers.Injection.Add(new PropertyElement()
            {
                Name = "MyProp"
            });

            policy.CallHandlers.Add(handlerWithMembers);

            interceptionElement.Policies.Add(policy);

            c.ConfiguringElements.Add(interceptionElement);
        }
        private static void CreateConfigWithCallHandlers(ContainerElement c)
        {
            var interceptionElement = new InterceptionElement();
            var policy = new PolicyElement() { Name = "PolicyOne" };
            policy.MatchingRules.Add(new MatchingRuleElement() { Name =  "All", TypeName = "AlwaysMatchingRule" });

            policy.CallHandlers.Add(new CallHandlerElement()
            {
                Name = "NamedRule"
            });

            policy.CallHandlers.Add(new CallHandlerElement()
            {
                Name = "NameAndType",
                TypeName = "DoMoreRule"
            });

            policy.CallHandlers.Add(new CallHandlerElement()
            {
                Name = "HandlerWithLifetime",
                TypeName = "DoSomethingRule",
                Lifetime = new LifetimeElement()
                {
                    TypeName = "singleton"
                }
            });

            var handlerWithMembers = new CallHandlerElement()
            {
                Name = "HandlerWithElements",
                TypeName = "CallCountHandler"
            };
            handlerWithMembers.Injection.Add(new ConstructorElement());
            handlerWithMembers.Injection.Add(new PropertyElement() { Name = "MyProp" });

            policy.CallHandlers.Add(handlerWithMembers);

            interceptionElement.Policies.Add(policy);

            c.ConfiguringElements.Add(interceptionElement);
        }