code: private final void init() throws ServletException
  	{
  		ServletConfig conf;
  		ServletContext ctx;
  
  		logger.debug("servlet={}", servlet);
  
  		// If the api user doesn't init a HttpServlet right
  		// the conf may be null. Let's double check it all with
  		// useful exception messages.
  		if(servlet == null)
  			throw new IllegalStateException("Servlet was null in. Initialization issue?");
  		if((conf = servlet.getServletConfig()) == null)
  			throw new IllegalStateException("ServletConfig was null in. Initialization issue?");
  		if((ctx = conf.getServletContext()) == null)
  			throw new IllegalStateException("ServletContext was null in. Initialization issue?");
  
  		// get the actual dispatcher
  		if(isName)
  			dispatcher = ctx.getNamedDispatcher(nameOrPath);
  		else
  			dispatcher = ctx.getRequestDispatcher(nameOrPath);
  		if(dispatcher == null)
  			throw new ServletException("Unable to get dispatcher for \"" + nameOrPath + "\".");
  	}
docs: Initialize transient dispatcher. This is called from
  constructor so it must be private and/or final.