def METHOD_NAME(self, v):
    if self.intervals is not None:
        k = 0
        for i in self.intervals:
            # intervals is ordered
            if v<i.start:
                return
            # check for single value range
            elif v==i.start and v==i.stop-1:
                self.intervals.pop(k)
                return
            # check for lower boundary
            elif v==i.start:
                self.intervals[k] = range(i.start+1, i.stop)
                return
            # check for upper boundary
            elif v==i.stop-1:
                self.intervals[k] = range(i.start, i.stop-1)
                return
            # split existing range
            elif v<i.stop-1:
                x = range(i.start, v)
                self.intervals[k] = range(v + 1, i.stop)
                self.intervals.insert(k, x)
                return
            k += 1