public function returnCreated(Event $event)
 {
     $return = $event->getReturn();
     $transaction = new Transaction();
     $transaction->type = Types::ORDER_RETURN;
     $transaction->records->add($return);
     foreach ($return->payments as $payment) {
         if ($return->item->order) {
             $payment = new OrderPayment($payment);
             $payment->order = $return->item->order;
         }
         $transaction->records->add($payment);
     }
     foreach ($return->refunds as $refund) {
         if ($return->item->order) {
             $refund = new OrderRefund($refund);
             $refund->order = $return->item->order;
         }
         $transaction->records->add($refund);
     }
     // Add the exchange item, if there is one
     if ($exchangeItem = $return->item->exchangeItem) {
         $transaction->records->add($exchangeItem);
         // Add the exchange item's order, if it's standalone
         if (!$return->item->order) {
             $transaction->records->add($exchangeItem->order);
         }
     }
     $this->get('order.transaction.create')->setDbTransaction($event->getTransaction())->create($transaction);
 }