code: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
  		try {
  			HttpServletRequest hreq = (HttpServletRequest)request;
  			if(noAuthn(hreq)) {
  				chain.doFilter(request, response);
  			} else {
  				HttpServletResponse hresp = (HttpServletResponse)response;
  				TafResp tresp = httpChecker.validate(hreq, hresp);
  				if(tresp.isAuthenticated()==RESP.IS_AUTHENTICATED) {
  						CadiWrap cw = new CadiWrap(hreq, tresp, httpChecker.getLur(),getConverter(hreq));
  						if(httpChecker.notCadi(cw, hresp)) {
  							chain.doFilter(cw,response);
  						}
  				}						
  			}
  		} catch (ClassCastException e) {
  			throw new ServletException("CadiFilter expects Servlet to be an HTTP Servlet",e);
  		}
  	}
docs: TODO Always validate changes against Tomcat AbsCadiValve and Jaspi CadiSAM functions