Returns Calendar date used for comparison.

        Use the earliest date out of all CalendarDates in this instance,
        or some date in the future if there are no CalendarDates (e.g.
        when Date is a phrase).

def _cmp_date(self):
        """Returns Calendar date used for comparison.

        Use the earliest date out of all CalendarDates in this instance,
        or some date in the future if there are no CalendarDates (e.g.
        when Date is a phrase).
        """
        dates = sorted(val for val in self.kw.values()
                       if isinstance(val, CalendarDate))
        if dates:
            return dates[0]
        # return date very far in the future
        return CalendarDate()