/**
* @throws CartException
*/
public function setQuantity(int
$quantity): self
{ if ($quantity < 1
) { throw CartException::
invalidQuantity($quantity);
} if (!
$this->
isStackable()) { throw CartException::
lineItemNotStackable($this->id
);
} if ($this->
hasChildren()) { $this->
refreshChildQuantity($this->children,
$this->quantity,
$quantity);
} if ($this->priceDefinition instanceof QuantityPriceDefinition
) { $this->price = null;
} $this->quantity =
$quantity;