/**
  * @param Payone_Api_Request_Interface $request
  * @param null|Payone_Api_Response_Interface $response
  */
 public function protocol(Payone_Api_Request_Interface $request, Payone_Api_Response_Interface $response = null)
 {
     $request->setApplyFilters($this->getServiceApplyFilters());
     $response->setApplyFilters($this->getServiceApplyFilters());
     $requestAsString = $request->__toString();
     $responseAsString = $response->__toString();
     foreach ($this->loggers as $key => $logger) {
         $logger->log($requestAsString);
         $logger->log($responseAsString);
     }
     foreach ($this->repositories as $key => $repository) {
         /** @var $repository Payone_Api_Persistence_Interface */
         $repository->save($request, $response);
     }
 }