private function _handleTransportException(Exception $e, ehough_shortstop_api_HttpRequest $request, ehough_chaingang_api_Context $context, $isDebugEnabled, ehough_epilog_psr_LoggerInterface $logger)
 {
     $this->_tearDown($request, true);
     /**
      * Fire an error event.
      */
     $transportFailureEvent = new ehough_tickertape_GenericEvent($this, array('request' => $request, 'response' => $context->containsKey('response') ? $context->get('response') : null, 'exception' => $e, 'rethrow' => false, 'tryOtherTransports' => true));
     $this->_eventDispatcher->dispatch(ehough_shortstop_api_Events::TRANSPORT_FAILURE, $transportFailureEvent);
     if ($transportFailureEvent->getArgument('rethrow')) {
         if ($isDebugEnabled) {
             $logger->error(sprintf('Caught exception when handling %s (%s). Will re-throw.', $request, $e->getMessage()));
         }
         throw new ehough_shortstop_api_exception_RuntimeException($e->getMessage());
     }
     if ($transportFailureEvent->getArgument('tryOtherTransports')) {
         if ($isDebugEnabled) {
             $logger->debug('Transport failed, but trying the next...');
         }
         return false;
     }
     if ($isDebugEnabled) {
         $logger->debug('Transport failed, and not trying any others...');
     }
     return true;
 }