'Retrieve the TVEpisode object requested.
:param show: The show object belonging to the show we want to process
:param season: The season of the episode (int)
:param episodes: A list of episodes to find (list of ints)
:return: If the episode(s) can be found then a TVEpisode object with the correct related eps will
be instantiated and returned. If the episode can\'t be found then None will be returned.'

def _get_ep_obj(self, show, season, episodes):

    root_ep = None
    for cur_episode in episodes:
        self._log((((u'Retrieving    episode    object    for    ' + str(season)) + u'x') + str(cur_episode)), logger.DEBUG)
        try:
            curEp = show.getEpisode(season, cur_episode)
            if (not curEp):
                raise EpisodeNotFoundException()
        except EpisodeNotFoundException as e:
            self._log((u'Unable    to    create    episode:    ' + ex(e)), logger.DEBUG)
            raise EpisodePostProcessingFailedException()
        if (root_ep is None):
            root_ep = curEp
            root_ep.relatedEps = []
        elif (curEp not in root_ep.relatedEps):
            root_ep.relatedEps.append(curEp)
    return root_ep
