def METHOD_NAME(self, start: int, end: int) -> ClosedRange:
    begin = max(self.start, start)
    end = min(x for x in (self.end, end) if x)
    begin = min(begin, end)
    end = max(begin, end)
    return ClosedRange(begin, end)