public function handle(NewCheckout $command)
{
$cartId = new CartId($command->cartId());
if (!$this->carts->exists($cartId)) {
throw new CartNotFoundException();
}
$billingAddress = new Address($command->name(), $command->street(), $command->postCode(), $command->city(), $command->countryIso2Code());
if ($this->checkouts->existsForCart($cartId)) {
throw new CheckoutAlreadyExistsException();
}
$this->checkouts->add(new Checkout($cartId, $billingAddress));
}