/**
  * @param Product $product
  */
 private function saveOptions($product)
 {
     if ($product->isOptionsModified()) {
         $productOptionsExisted = boolval($this->getDb()->query("DELETE FROM product_option WHERE product_id = :productId", [':productId' => $product->getId()]));
         $this->getDb()->query("DELETE FROM product_option_value WHERE product_id = :productId", [':productId' => $product->getId()]);
         foreach ($product->getOptions() as $productOption) {
             $params = [':productOptionId' => $productOption->getId(), ':productId' => $product->getId(), ':optionId' => $productOption->getOption()->getId(), ':isRequired' => $productOption->isRequired(), ':optionValue' => $productOption->getValue()];
             if ($params[':optionValue'] instanceof ProductOptionValueCollection) {
                 $params[':optionValue'] = '';
             }
             if ($productOptionsExisted) {
                 $this->getDb()->query("\n                        INSERT INTO product_option\n                        SET\n                            product_option_id = :productOptionId,\n                            product_id = :productId,\n                            option_id = :optionId,\n                            required = :isRequired,\n                            option_value = :optionValue\n                        ", $params);
             } else {
                 unset($params[':productOptionId']);
                 $this->getDb()->query("\n                        INSERT INTO product_option\n                        SET\n                            product_id = :productId,\n                            option_id = :optionId,\n                            required = :isRequired,\n                            option_value = :optionValue\n                        ", $params);
             }
             $productOption->setId($this->getDb()->getLastId());
             //TODO: Should work regardless of type based on values only
             //                if ($productOption->getType() == 'select' || $productOption->getType() == 'radio' ||
             //                    $productOption->getType() == 'checkbox' || $productOption->getType() == 'image') {
             $this->saveOptionValues($product, $productOption, $productOptionsExisted);
         }
     }
 }