public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            _currentItem =
                filterContext.Controller.ControllerContext.RouteData.Values[ContentRoute.ContentItemKey] as ContentItem;
            if (_currentItem != null && _cachingService.IsPageCached(_currentItem))
            {
                string cachedHtml = _cachingService.GetCachedPage(_currentItem);
                filterContext.Result = new ContentResult { Content = cachedHtml };
                return;
            }

            if (_currentItem != null && _currentItem.GetPageCachingEnabled())
            {
                _originalOutputStream = filterContext.HttpContext.Response.Filter;
                HttpResponseBase response = filterContext.HttpContext.Response;
                response.Flush();
                response.Filter = new CapturingResponseFilter(response.Filter);
            }
        }