/**
  * Updates product with the provided request data
  *
  * @param ProductInterface $product
  * @param array            $data
  */
 protected function updateProduct(ProductInterface $product, array $data)
 {
     $values = $this->localizedConverter->convertToDefaultFormats($data['values'], ['locale' => $this->userContext->getUiLocale()->getCode()]);
     $values = $this->emptyValuesFilter->filter($product, $values);
     unset($data['values']);
     $data = array_replace($data, $values);
     $this->productUpdater->update($product, $data);
 }
 /**
  * @param ProductInterface $product
  * @param array            $convertedItem
  *
  * @return array
  */
 protected function filterIdenticalData(ProductInterface $product, array $convertedItem)
 {
     return $this->productAssocFilter->filter($product, $convertedItem);
 }
 /**
  * @param ProductInterface $product
  * @param array            $filteredItem
  *
  * @return array
  */
 protected function filterIdenticalData(ProductInterface $product, array $filteredItem)
 {
     $filteredItem = $this->productFilter->filter($product, $this->convertDataToValue($filteredItem));
     return $this->convertValueToData($filteredItem);
 }