code: public function parse(array $entry)
      {
          Assertion::url($entry['link']);
  
          if (empty($entry['filename'])) {
              $entry['filename'] = basename($entry['link']);
          }
  
          if (empty($entry['name'])) {
              $entry['name'] = null;
          }
  
          if (empty($entry['alternateName'])) {
              $entry['alternateName'] = null;
          }
  
          if (!array_key_exists('translations', $entry)) {
              $entry['translations'] = [];
          }
  
          if (!array_key_exists('attributes', $entry)) {
              $entry['attributes'] = [];
          }
  
          if (array_key_exists('mediaCategory', $entry)) {
              $mediaCategories = $this->categoryHelper->getCategories();
  
              $mediaCategoryIdentity = $this->identityService->findOneOrCreate(
                  (string) $mediaCategories[$entry['mediaCategory']]['id'],
                  PlentymarketsAdapter::NAME,
                  MediaCategory::TYPE
              );
  
              $entry['mediaCategoryIdentifier'] = $mediaCategoryIdentity->getObjectIdentifier();
          } else {
              $entry['mediaCategoryIdentifier'] = null;
          }
  
          $entry['hash'] = sha1(json_encode($entry)); // include all fields when computing the hash
  
          $identity = $this->identityService->findOneOrCreate(
              (string) $entry['id'],
              PlentymarketsAdapter::NAME,
              Media::TYPE
          );
  
          $media = new Media();
          $media->setIdentifier($identity->getObjectIdentifier());
          $media->setMediaCategoryIdentifier($entry['mediaCategoryIdentifier']);
          $media->setLink($entry['link']);
          $media->setFilename($entry['filename']);
          $media->setHash($entry['hash']);
          $media->setName($entry['name']);
          $media->setAlternateName($entry['alternateName']);
          $media->setTranslations($entry['translations']);
          $media->setAttributes($entry['attributes']);
  
          return $media;
      }
docs: {@inheritdoc}