def METHOD_NAME(self, open_time: "tradingHours") -> "tradingHours":
    self_as_list = self.as_list()
    other_as_list = open_time.as_list()
    intervals = intersection_intervals([self_as_list, other_as_list])
    if len(intervals) == 0:
        return tradingHours.create_zero_length_day(self.opening_time.date())
    return tradingHours(intervals[0], intervals[1])