public override IValueProvider GetValueProvider(ControllerContext controllerContext)
        {
            var cc = controllerContext;

            var valueProvider = Factory.GetValueProvider(cc);

            Trace.Write(string.Format("{0}.GetValueProvider(controllerContext) = {1}", Factory.GetType().Name, valueProvider == null ? "null" : valueProvider.GetType().ToString()));

            if (valueProvider != null && !(valueProvider is GlimpseValueProvider))
            {
                if (valueProvider is IUnvalidatedValueProvider)
                    valueProvider = new GlimpseUnvalidatedValueProvider(valueProvider);
                else
                    valueProvider = new GlimpseValueProvider(valueProvider);
            }

            return valueProvider;
        }
        public override IValueProvider GetValueProvider(ControllerContext controllerContext)
        {
            var cc = controllerContext;

            var valueProvider = Factory.GetValueProvider(cc);

            Trace.Write(string.Format("{0}.GetValueProvider(controllerContext) = {1}", Factory.GetType().Name, valueProvider == null ? "null" : valueProvider.GetType().ToString()));

            if (valueProvider != null && !(valueProvider is GlimpseValueProvider))
            {
                if (valueProvider is IUnvalidatedValueProvider)
                {
                    valueProvider = new GlimpseUnvalidatedValueProvider(valueProvider);
                }
                else
                {
                    valueProvider = new GlimpseValueProvider(valueProvider);
                }
            }

            return(valueProvider);
        }