code: def overlapping(self, start, stop):
          
          for event in self:
              if ((start <= event.begin <= stop # if start is between the bonds
              or start <= event.end <= stop) # or stop is between the bonds
              or event.begin <= start and event.end >= stop): # or event is a superset of [start,stop]
                  yield event
docs: Iterates (in chronological order) over every event that has an intersection
          with the timespan between `start` and `stop`
  
          Args:
              start : (Arrow object)
              stop : (Arrow object)