'Returns the name of the episode to use during renaming. Combines the names of related episodes.
Eg. "Ep Name (1)" and "Ep Name (2)" becomes "Ep Name"
"Ep Name" and "Other Ep Name" becomes "Ep Name & Other Ep Name"'

def _ep_name(self):

    multiNameRegex = u'(.*)    \\(\\d{1,2}\\)'
    self.relatedEps = sorted(self.relatedEps, key=(lambda x: x.episode))
    if (not self.relatedEps):
        goodName = self.name
    else:
        goodName = u''
        singleName = True
        curGoodName = None
        for curName in ([self.name] + [x.name for x in self.relatedEps]):
            match = re.match(multiNameRegex, curName)
            if (not match):
                singleName = False
                break
            if (curGoodName is None):
                curGoodName = match.group(1)
            elif (curGoodName != match.group(1)):
                singleName = False
                break
        if singleName:
            goodName = curGoodName
        else:
            goodName = self.name
            for relEp in self.relatedEps:
                goodName += (u'    &    ' + relEp.name)
    return goodName
