'Removes a breakpoint.
:param bp:  The breakpoint to remove.
:param filter_func: A filter function to specify whether each breakpoint should be removed or not.'

def remove_breakpoint(self, event_type, bp=None, filter_func=None):

    if ((bp is None) and (filter_func is None)):
        raise ValueError('remove_breakpoint():    You    must    specify    either    "bp"    or    "filter".')
    try:
        if (bp is not None):
            self._breakpoints[event_type].remove(bp)
        else:
            self._breakpoints[event_type] = [b for b in self._breakpoints[event_type] if (not filter_func(b))]
    except ValueError:
        l.error('remove_breakpoint():    Breakpoint    %s    (type    %s)    is    not    found.', bp, event_type)
