code: @Override
      protected void doRenderService(RenderRequest request, RenderResponse response)
              throws Exception {
          super.doRenderService(request, response);
      }
docs: Processes the actual dispatching to the handler for render requests.
  
  <p>The handler will be obtained by applying the portlet's HandlerMappings in order. The
  HandlerAdapter will be obtained by querying the portlet's installed HandlerAdapters to find
  the first that supports the handler class.
  
  <p>For two-phase render processing
  
  <ol>
  <li>the interceptors and exception handlers should handle the two phases appropriately (if
  not idempotent skip processing during RENDER_HEADERS phase).
  <li>Though a streaming portlet likely will invoke RENDER_HEADERS before RENDER_MARKUP,
  there is no guarantee of order of execution; e.g. render_markup may be called before
  render_header. The only guarantee is that the resulting markup is inserted in the
  appropriate order.
  </ol>
  
  <p>For single-phase render, this method executes following normal conventions.
  
  <p>For two-phase render, this method will delegate <code>RENDER_MARKUP</code> of a two-phase
  render processing to the parent class for normal processing. Ideally for the <code>
  RENDER_HEADERS</code> phase it would invoke the portlet if there were no exceptions from the
  Action Phase (leave ACTION_EXCEPTION_SESSION_ATTRIBUTE in session and leave rethrowing the
  exception for the RENDER_MARKUP phase) and probably render no output if there was an
  exception. However triggerAfterRenderCompletion in the superclass is a private method so it
  cannot be executed in a subclass. For now we can only have RENDER_HEADERS perform the normal
  processing until Spring Framework Portlet MVC code incorporates this behavior.
  
  @param request current portlet render request
  @param response current portlet render response
  @throws Exception in case of any kind of processing failure