public function dispatch(__IRequest &$request, __IResponse &$response)
 {
     //set the current request and response:
     $this->_request =& $request;
     $this->_response =& $response;
     //dispatch the request:
     if ($request->hasFilterChain()) {
         $filter_chain = $request->getFilterChain();
         $filter_chain->reset();
         $filter_chain->setFrontControllerCallback($this, 'processRequest');
         $filter_chain->execute($request, $response);
     } else {
         $this->processRequest($request, $response);
     }
 }