/**
  * {@inheritdoc}
  */
 public function convertToProductOption(DataObject $request)
 {
     $superAttribute = $request->getSuperAttribute();
     if (!empty($superAttribute) && is_array($superAttribute)) {
         $data = [];
         foreach ($superAttribute as $optionId => $optionValue) {
             /** @var ConfigurableItemOptionValueInterface $option */
             $option = $this->itemOptionValueFactory->create();
             $option->setOptionId($optionId);
             $option->setOptionValue($optionValue);
             $data[] = $option;
         }
         return ['configurable_item_options' => $data];
     }
     return [];
 }
 /**
  * Prepare selected options for configurable product
  *
  * @param  \Magento\Catalog\Model\Product $product
  * @param  \Magento\Framework\DataObject $buyRequest
  * @return array
  * @SuppressWarnings(PHPMD.UnusedFormalParameter)
  */
 public function processBuyRequest($product, $buyRequest)
 {
     $superAttribute = $buyRequest->getSuperAttribute();
     $superAttribute = is_array($superAttribute) ? array_filter($superAttribute, 'intval') : [];
     $options = ['super_attribute' => $superAttribute];
     return $options;
 }