RequestMimic mimic = new RequestMimic(request); session.setAttribute("interrupted.request", mimic);
RequestInfo info = new RequestInfo(request); session.setAttribute("interrupted.request.info", info);
    public static void startAuthentication(Context context,        HttpServletRequest request,        HttpServletResponse response)        throws ServletException, IOException    {        HttpSession session = request.getSession();                // Store the data from the request that led to authentication        RequestMimic mimic = new RequestMimic(request);        session.setAttribute("interrupted.request", mimic);        // Store the URL of the request that led to authentication        session.setAttribute("interrupted.request.url",            UIUtil.getOriginalURL(request));                // Instantiate the site authenticator        String siteAuthClassName = ConfigurationManager.getProperty(            "webui.site.authenticator");        SiteAuthenticator siteAuth;        try        {            Class siteAuthClass = Class.forName(siteAuthClassName);            siteAuth = (SiteAuthenticator) siteAuthClass.newInstance();        }        catch(Exception e)        {            // Problem instantiating            if (siteAuthClassName == null)            {                siteAuthClassName = "null";            }            log.fatal(LogManager.getHeader(context,                    "no_site_authenticator",                    "webui.site.authenticator=" + siteAuthClassName),                e);                            throw new ServletException(e);        }        // Start up the site authenticator        siteAuth.startAuthentication(context, request, response);    }