'Given an exemplar sentence and a set of FE names, return the subset of FE names
that are realized overtly in the sentence on the FE, FE2, or FE3 layer.
If \'fes\' is None, returns all overt FE names.'

def _exemplar_of_fes(self, ex, fes=None):

    overtNames = (set(list(zip(*ex.FE[0]))[2]) if ex.FE[0] else set())
    if (u'FE2' in ex):
        overtNames |= (set(list(zip(*ex.FE2[0]))[2]) if ex.FE2[0] else set())
        if (u'FE3' in ex):
            overtNames |= (set(list(zip(*ex.FE3[0]))[2]) if ex.FE3[0] else set())
    return ((overtNames & fes) if (fes is not None) else overtNames)
