code: 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);
          }
      }
docs: 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