protected void doFilterChain(ServletRequest request, ServletResponse response, FilterChain chain,
            AuthPrincipal principal) throws IOException, ServletException {
        if (principal == null) {
            chain.doFilter(request, response);
        } else {
            HttpServletRequest hsr;
            hsr = wrapTheRequest(request, principal);
            chain.doFilter(hsr, response);
        }
    }
Further process the filter chain.
@param request the request
@param response the response
@param chain the filter chain
@param principal the auth principal
@throws IOException when I/O failure occurs in filter chain
@throws ServletException when servlet exception occurs during auth
common/servlet/src/main/java/io/apiman/common/servlet/AuthenticationFilter.java