public function preSetData(FormEvent $event)
{
/** @var ProductInterface $product */
$product = $event->getData();
Assert::isInstanceOf($product, ProductInterface::class);
$form = $event->getForm();
/** Options should be disabled for configurable product if it has at least one defined variant */
$disableOptions = null !== $this->variantResolver->getVariant($product) && $product->hasVariants();
$form->add('options', ProductOptionChoiceType::class, ['required' => false, 'disabled' => $disableOptions, 'multiple' => true, 'label' => 'sylius.form.product.options']);
}