code: public void doFilter( ServletRequest request,
                  ServletResponse response,
                  FilterChain chain ) throws IOException, ServletException {
          HttpServletRequest req = (HttpServletRequest)request;
          HttpServletResponse resp = (HttpServletResponse)response;
          NtlmPasswordAuthentication ntlm;
  
          if ((ntlm = negotiate( req, resp, false )) == null) {
              return;
          }
  
          chain.doFilter( new NtlmHttpServletRequest( req, ntlm ), response );
      }
docs: This method simply calls <tt>negotiate( req, resp, false )</tt>
  and then <tt>chain.doFilter</tt>. You can override and call
  negotiate manually to achive a variety of different behavior.