/**
  * {@inheritdoc}
  */
 public function send(Swift_Mime_Message $message, &$failedRecipients = null)
 {
     $this->beforeSendPerformed($message);
     $mail = new Mail();
     $from = $message->getFrom();
     $subject = $message->getSubject();
     $content = new Content("text/html", $message->getBody());
     foreach ($from as $fromAddress => $name) {
         $mail->setFrom(["name" => $name, "email" => $fromAddress]);
     }
     $mail->setSubject($subject);
     $mail->addContent($content);
     $to = $message->getTo();
     $person = new Personalization();
     foreach ($to as $toAddress => $name) {
         $person->addTo(["name" => $name, "email" => $toAddress]);
     }
     $mail->addPersonalization($person);
     /** @var Response $result */
     $result = $this->sendgrid->client->mail()->send()->post($mail);
     if ($result instanceof Response && $result->statusCode() >= 200 && $result->statusCode() < 300) {
         return $result;
     } else {
         throw new SendGridTransportException($result);
     }
 }