/**
  * @param OrderInterface $order
  * @param string $shipmentState
  *
  * @return int
  */
 private function countOrderShipmentsInState(OrderInterface $order, $shipmentState)
 {
     $shipments = $order->getShipments();
     return $shipments->filter(function (ShipmentInterface $shipment) use($shipmentState) {
         return $shipment->getState() === $shipmentState;
     })->count();
 }
 /**
  * @param OrderInterface $order
  *
  * @return ShipmentInterface
  */
 private function getOrderShipment(OrderInterface $order)
 {
     if ($order->hasShipments()) {
         return $order->getShipments()->first();
     }
     try {
         /** @var ShipmentInterface $shipment */
         $shipment = $this->shipmentFactory->createNew();
         $shipment->setOrder($order);
         $shipment->setMethod($this->defaultShippingMethodResolver->getDefaultShippingMethod($shipment));
         $order->addShipment($shipment);
         return $shipment;
     } catch (UnresolvedDefaultShippingMethodException $exception) {
         return null;
     }
 }