/**
  * Get all images of a product normalized.
  *
  * @param ProductInterface $product
  * @param string           $sku
  * @param string           $smallImageAttribute
  * @param string           $baseImageAttribute
  * @param string           $thumbnailAttribute
  *
  * @return array
  */
 public function getNormalizedImages(ProductInterface $product, $sku = '', $smallImageAttribute = '', $baseImageAttribute = '', $thumbnailAttribute = '')
 {
     $imageValues = $product->getValues()->filter(function ($value) {
         return $value->getData() instanceof AbstractProductMedia && in_array($value->getData()->getMimeType(), array('image/jpeg', 'image/png', 'image/gif'));
     });
     if ($sku === '') {
         $sku = $product->getIdentifier();
     }
     $images = [];
     foreach ($imageValues as $imageValue) {
         $data = $imageValue->getData();
         if ($imageData = $this->mediaManager->getBase64($data)) {
             $imageTypes = array_merge($imageValue->getAttribute()->getCode() == $smallImageAttribute ? [Webservice::SMALL_IMAGE] : [], $imageValue->getAttribute()->getCode() == $baseImageAttribute ? [Webservice::BASE_IMAGE] : [], $imageValue->getAttribute()->getCode() == $thumbnailAttribute ? [Webservice::THUMBNAIL] : []);
             $images[] = [(string) $sku, ['file' => ['name' => $data->getFilename(), 'content' => $imageData, 'mime' => $data->getMimeType()], 'label' => $data->getFilename(), 'position' => 0, 'types' => $imageTypes, 'exclude' => 0], 0, 'sku'];
         }
     }
     return $images;
 }