/**
  * @param CartInterface $quote
  * @return CartInterface
  */
 public function load(CartInterface $quote)
 {
     if (!$quote->getIsActive()) {
         return $quote;
     }
     /** @var \Magento\Quote\Model\Quote $quote */
     $quote->setItems($quote->getAllVisibleItems());
     $shippingAssignments = [];
     if (!$quote->isVirtual() && $quote->getItemsQty() > 0) {
         $shippingAssignments[] = $this->shippingAssignmentProcessor->create($quote);
     }
     $cartExtension = $quote->getExtensionAttributes();
     if ($cartExtension === null) {
         $cartExtension = $this->cartExtensionFactory->create();
     }
     $cartExtension->setShippingAssignments($shippingAssignments);
     $quote->setExtensionAttributes($cartExtension);
     return $quote;
 }
 /**
  * @param CartInterface $quote
  * @param ShippingAssignmentInterface $shippingAssignment
  * @return void
  */
 public function save(CartInterface $quote, ShippingAssignmentInterface $shippingAssignment)
 {
     if ($quote->getIsActive()) {
         $this->shippingAssignmentProcessor->save($quote, $shippingAssignment);
     }
 }