public function handle(Context $c): Response
  {
    $response = null;
    $this->setContext($c);
    $this->_callStartTime = $this->_callStartTime ?: microtime(true);

    //Verify the request can be processed
    if($this->canProcess($response) !== true)
    {
      if($response instanceof Response)
      {
        return $this->_prepareResponse($c, $response, null);
      }
      throw new \Exception(self::ERROR_ACCESS_DENIED, 403);
    }

    return parent::handle($c);
  }