def _gen_msg(vevent, label, tail, sep):
        """Generate a Remind MSG from the given vevent.
        Opposite of _gen_description()
        """
        rem = ['MSG']
        msg = []
        if label:
            msg.append(label)

        if hasattr(vevent, 'summary') and vevent.summary.value:
            msg.append(Remind._rem_clean(vevent.summary.value))
        else:
            msg.append('empty reminder')

        if hasattr(vevent, 'location') and vevent.location.value:
            msg.append('at %s' % Remind._rem_clean(vevent.location.value))

        has_desc = hasattr(vevent, 'description') and vevent.description.value

        if tail or has_desc:
            rem.append('%%"%s%%"' % ' '.join(msg))
        else:
            rem.append(' '.join(msg))

        if tail:
            rem.append(tail)

        if has_desc:
            rem[-1] += sep + Remind._rem_clean(vevent.description.value)

        return ' '.join(rem)