private static DispatchStepResult SendAppCacheRedirect(RequestContext requestContext, Uri originalUri)
        {
            HttpContext     httpContext         = requestContext.HttpContext;
            HttpApplication applicationInstance = httpContext.ApplicationInstance;
            string          explicitLogonUser   = UserContextUtilities.GetExplicitLogonUser(httpContext);

            if (string.IsNullOrEmpty(explicitLogonUser))
            {
                RequestDispatcher.BindDefaultForceAppcacheCookieToSession(applicationInstance, httpContext);
                if (RequestDispatcher.RedirectBecauseClientForgotTrailingSlashOnRoot(applicationInstance, httpContext, originalUri))
                {
                    ExTraceGlobals.CoreCallTracer.TraceDebug(0L, "[RequestDispatcher::SendAppCacheRedirect] OwaModule redirected because client forgot the trailing slash on the root and that's in the appcache.");
                    return(DispatchStepResult.Stop);
                }
                if (RequestDispatcher.RedirectBecauseClientRequestedOwaRootSlashRealm(applicationInstance, httpContext, originalUri))
                {
                    ExTraceGlobals.CoreCallTracer.TraceDebug(0L, "[RequestDispatcher::SendAppCacheRedirect] OwaModule redirected because the client requested /realm and that's in the appcache.");
                    return(DispatchStepResult.Stop);
                }
                if (RequestDispatcher.RedirectBecauseClientRequestedWebsiteRoot(applicationInstance, httpContext, originalUri))
                {
                    ExTraceGlobals.CoreCallTracer.TraceDebug(0L, "[RequestDispatcher::SendAppCacheRedirect] OwaModule redirected because the client requested the website root and that's in the appcache.");
                    return(DispatchStepResult.Stop);
                }
                if (RequestDispatcher.RedirectBecauseIE10RequiresReloadFromAppcache(applicationInstance, httpContext, originalUri))
                {
                    ExTraceGlobals.CoreCallTracer.TraceDebug(0L, "[RequestDispatcher::SendAppCacheRedirect] OwaModule told IE10 to reload so it can use the appcache.");
                    return(DispatchStepResult.Stop);
                }
            }
            return(DispatchStepResult.Continue);
        }