/**
  * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
  *
  * @return \Generated\Shared\Transfer\DiscountableItemTransfer[]
  */
 public function collect(QuoteTransfer $quoteTransfer)
 {
     $lefCollectedItems = $this->left->collect($quoteTransfer);
     $rightCollectedItems = $this->right->collect($quoteTransfer);
     return array_uintersect($lefCollectedItems, $rightCollectedItems, function (DiscountableItemTransfer $collected, DiscountableItemTransfer $toCollect) {
         return strcmp(spl_object_hash($collected->getOriginalItemCalculatedDiscounts()), spl_object_hash($toCollect->getOriginalItemCalculatedDiscounts()));
     });
 }
 /**
  * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
  *
  * @return \Generated\Shared\Transfer\DiscountableItemTransfer[]
  */
 public function collect(QuoteTransfer $quoteTransfer)
 {
     $leftCollectedItems = $this->left->collect($quoteTransfer);
     $rightCollectedItems = $this->right->collect($quoteTransfer);
     return $this->arrayMergeByObject($leftCollectedItems, $rightCollectedItems);
 }