class UnsupportedBrowserHandler extends SynchronizedRequestHandler {

    @Override
    public boolean synchronizedHandleRequest(VaadinSession session,
            VaadinRequest request, VaadinResponse response) throws IOException {

        // Check if the browser is supported
        WebBrowser browser = session.getBrowser();
        final String cookie = request.getHeader("Cookie");
        if (browser.isTooOldToFunctionProperly()) {
            // bypass if cookie set
            if (cookie == null || !cookie.contains(FORCE_LOAD_COOKIE)) {
                writeBrowserTooOldPage(request, response);
                return true; // request handled
            }
        }

        return false; // pass to next handler
    }

}