/**
  * @param ActionEvent $actionEvent
  * @param \Exception $previousException
  * @return MessageDispatchException
  */
 public static function failed(ActionEvent $actionEvent, \Exception $previousException = null)
 {
     $ex = new self(sprintf("Message dispatch failed during %s phase.%s", $actionEvent->getName(), is_null($previousException) ? '' : ' Error: ' . $previousException->getMessage()), 422, $previousException);
     $ex->setFailedDispatch($actionEvent);
     return $ex;
 }