public function createAndSaveCartCoupon(
        CartInterface $cart,
        CouponInterface $coupon
    ) {
        /**
         * We create a new instance of CartCoupon.
         * We also persist and flush relation.
         */
        $cartCoupon = $this
            ->cartCouponDirector
            ->create();

        $cartCoupon->setCart($cart);
        $cartCoupon->setCoupon($coupon);

        $this
            ->cartCouponDirector
            ->save($cartCoupon);

        return $cartCoupon;
    }