/**
  * Creates a swift message from a ParsedMessage, handles defaults
  *
  * @param ParsedMessage $parsedMessage
  *
  * @return \Swift_Message
  */
 protected function transformMessage(ParsedMessage $parsedMessage)
 {
     $message = new \Swift_Message();
     if ($from = $parsedMessage->getFrom()) {
         $message->setFrom($from);
     }
     // handle to with defaults
     if ($to = $parsedMessage->getTo()) {
         $message->setTo($to);
     }
     // handle cc with defaults
     if ($cc = $parsedMessage->getCc()) {
         $message->setCc($cc);
     }
     // handle bcc with defaults
     if ($bcc = $parsedMessage->getBcc()) {
         $message->setBcc($bcc);
     }
     // handle reply to with defaults
     if ($replyTo = $parsedMessage->getReplyTo()) {
         $message->setReplyTo($replyTo);
     }
     // handle subject with default
     if ($subject = $parsedMessage->getSubject()) {
         $message->setSubject($subject);
     }
     // handle body, no default values here
     $message->setBody($parsedMessage->getMessageText());
     if ($parsedMessage->getMessageHtml()) {
         $message->addPart($parsedMessage->getMessageHtml(), 'text/html');
     }
     return $message;
 }
 /**
  * Add default parameters when they are not provided from the MailDefinition
  *
  * @param ParsedMessage $parsedMessage
  */
 protected function handleDefaults(ParsedMessage $parsedMessage)
 {
     if (!$parsedMessage->getFrom() && $this->defaults['from']['email']) {
         $parsedMessage->setFrom($this->defaults['from']['email'], $this->defaults['from']['name']);
     }
     if (!$parsedMessage->getTo() && $this->defaults['to']['email']) {
         $parsedMessage->addTo($this->defaults['to']['email'], $this->defaults['to']['name']);
     }
     if (!$parsedMessage->getCc() && $this->defaults['cc']['email']) {
         $parsedMessage->addCC($this->defaults['cc']['email'], $this->defaults['cc']['name']);
     }
     if (!$parsedMessage->getBcc() && $this->defaults['bcc']['email']) {
         $parsedMessage->addBcc($this->defaults['bcc']['email'], $this->defaults['bcc']['name']);
     }
     if (!$parsedMessage->getReplyTo() && $this->defaults['replyTo']) {
         $parsedMessage->setReplyTo($this->defaults['replyTo']);
     }
     if (!$parsedMessage->getSubject() && $this->defaults['subject']) {
         $parsedMessage->setSubject($this->defaults['subject']);
     }
 }