/**
  * {@inheritdoc}
  */
 public function process($product)
 {
     $configuration = $this->getJobConfiguration();
     if (!array_key_exists('actions', $configuration)) {
         throw new InvalidArgumentException('Missing configuration for \'actions\'.');
     }
     $actions = $configuration['actions'];
     $variantGroup = $actions['value'];
     $variantGroup = $this->groupRepository->findOneByIdentifier($variantGroup);
     $variantGroup->addProduct($product);
     if (null !== $variantGroup->getProductTemplate()) {
         $this->templateUpdater->update($variantGroup->getProductTemplate(), [$product]);
     }
     if (null === $product || null !== $product && !$this->isProductValid($product)) {
         $this->stepExecution->incrementSummaryInfo('skipped_products');
         return null;
     }
     return $product;
 }