public function addOption(ValueInterface $option)
    {
        if (!$this->product instanceof ProductInterface) {
            throw new \LogicException('Cannot add options to a Variant before setting a parent Product');
        }

        $this
            ->options
            ->add($option);

        $this
            ->product
            ->addAttribute(
                $option->getAttribute()
            );

        return $this;
    }