code: @Override
  	protected void service(final HttpServletRequest httpServletRequest,
  			final HttpServletResponse httpServletResponse)
  			throws ServletException, IOException {
  		String path = httpServletRequest.getRequestURI();
  
  		try {
  			LOG.info("Service called on " + this + "... from " + path);
  
  			if (ServletUtil.isEnableSubSessions()) {
  				SubSessionHttpServletRequestWrapper requestWrapper = new SubSessionHttpServletRequestWrapper(
  						httpServletRequest);
  				serviceInt(requestWrapper, httpServletResponse);
  			} else {
  				serviceInt(httpServletRequest, httpServletResponse);
  			}
  		} catch (Throwable t) {
  			// We don't let any exception propagate to the servlet container.
  			LOG.error("WServlet caught exception.", t);
  			handleError(httpServletRequest, httpServletResponse, t);
  		} finally {
  			LOG.info("...service complete");
  		}
  	}
docs: Service an HTTP request. The {@link #serviceInt(HttpServletRequest, HttpServletResponse)} method is called to do
  the actual servicing. If the serviceInt method throws an exception, it is caught and the user is shown a generic
  error page using the {@link #handleError(HttpServletRequest, HttpServletResponse, Throwable)} method.
  
  @param httpServletRequest the request being processed
  @param httpServletResponse the servelt response
  
  @throws IOException an IO exception
  @throws ServletException a servlet exception
  
  @see #serviceInt(HttpServletRequest, HttpServletResponse)
  @see #handleError(HttpServletRequest, HttpServletResponse, Throwable)