public function provide(OrderInterface $order) { $user = $order->getUser(); $address = $order->getShippingAddress(); if ($user instanceof UserInterface) { if ($address === null) { /** @var AddressInterface $address */ $address = $this->addressFactory->createNew(); $order->setShippingAddress($address); } $lastOrder = $this->orderProvider->getLastOrder($user); if ($lastOrder !== null) { $lastOrderAddress = $this->orderProvider->getLastOrder($user)->getShippingAddress(); if ($lastOrderAddress) { $this->setAddress($address, $lastOrderAddress); } } } }