public void OnActionExecuting(ActionExecutingContext context)
        {
            Controller controller = context.Controller as Controller;

            if (controller != null)
            {
                string lang = context.HttpContext.Request.Cookies["lang"];

                //If language is null or a not supported
                if (string.IsNullOrWhiteSpace(lang) || !_cache.AllLanguageSet.Contains(lang))
                {
                    //Write a (new?) cookie to the user to keep a default
                    //TODO: examine "Accept-Language" header
                    context.HttpContext.Response.Cookies.Append("lang", _defaultLanguage);
                    lang = _defaultLanguage;
                }

                controller.ViewBag.Language = _cache.GetLocalizationData(lang);
            }
        }