private function addEpisodeIfNotExists(LostfilmShow $show, $title, $link)
 {
     $titleBeginAt = mb_strpos($title, ').', 0, 'UTF-8') + 2;
     $episodeTitle = trim(mb_substr($title, $titleBeginAt, 1024, 'UTF-8'));
     $episodeTitle = preg_replace('/\\[.+?\\]/', '', $episodeTitle);
     $episodeTitle = preg_replace('/\\(S\\d+E\\d+\\)/', '', $episodeTitle);
     $episodeTitle = trim($episodeTitle, ' .');
     $matches = [];
     if (preg_match('/\\(S(\\d+)E(\\d+)\\)/', $title, $matches)) {
         $seasonNumber = (int) $matches[1];
         $episodeNumber = (int) $matches[2];
         $episode = $show->getEpisodeByNumbers($seasonNumber, $episodeNumber);
         if ($episode !== null) {
             $this->addLinkToEpisode($episode, $link);
             return;
         }
         $episode = new Episode();
         $episode->setCreatedAt(new \DateTime());
         $episode->setTitle($episodeTitle);
         $episode->setSeasonNumber($seasonNumber);
         $episode->setEpisodeNumber($episodeNumber);
         $this->addLinkToEpisode($episode, $link);
         $show->addEpisode($episode);
         $this->logger->info(sprintf('Добавлен эпизод: %s (S%dE%d)', $show->getTitle(), $seasonNumber, $episodeNumber));
     }
 }