/**
  * Get the album data by video
  *
  * @param int $videoId
  *
  * @return array|null
  */
 public function getAlbumByVideo($videoId)
 {
     $videoId = (int) $videoId;
     $cacheKey = 'album_video_' . $videoId;
     if ($this->cache->isDataObsolete($cacheKey)) {
         if (($albums = $this->getAlbums()) === null) {
             return null;
         }
         $albumData = [];
         // Find the video in the album
         foreach ($albums as $album) {
             $albumId = $this->extractAlbumId($album);
             foreach ($this->getAlbumVideos($albumId, null, null) as $video) {
                 // Video has been found in the album, break all loops
                 if ($videoId === $this->extractVideoId($video)) {
                     $albumData = $album;
                     break 2;
                 }
             }
         }
         // Set the reference to album data
         if (count($albumData) > 0) {
             $this->cache->setReference($cacheKey, 'album_' . $this->extractAlbumId($albumData));
         }
     }
     return parent::getAlbumByVideo($videoId);
 }