code: public static void processRequest(final HttpServletHelper helper, final WComponent ui,
  			final InterceptorComponent interceptorChain) throws ServletException, IOException {
  
  		try {
  			// Tell the support container about the top most web component
  			// that will service the request/response.
  			if (interceptorChain == null) {
  				helper.setWebComponent(ui);
  			} else {
  				interceptorChain.attachUI(ui);
  				helper.setWebComponent(interceptorChain);
  			}
  
  			// Prepare user context
  			UIContext uic = helper.prepareUserContext();
  
  			synchronized (uic) {
  				// Process the action phase.
  				helper.processAction();
  
  				// Process the render phase.
  				helper.render();
  			}
  		} finally {
  			// We need to ensure that the AJAX operation is cleared
  			// The interceptors can not guarantee this
  			// TODO: Investigate changing to not use a thread-local
  			AjaxHelper.clearCurrentOperationDetails();
  		}
  	}
docs: This method does the real work in servicing the http request. It integrates wcomponents into a servlet
  environment via a servlet specific helper class.
  
  @param helper the servlet helper
  @param ui the application ui
  @param interceptorChain the chain of interceptors
  @throws ServletException a servlet exception
  @throws IOException an IO Exception