def intersectingInterval(self, start, end):
<EOL>l = []<EOL>for x in self.data.starts:<EOL><INDENT>xStartsAfterInterval = (x.start > end and not self.openEnded) or(x.start >= end and self.openEnded)<EOL>xEndsBeforeInterval = (x.end < start and not self.openEnded) or(x.end <= start and self.openEnded)<EOL>if ((not xStartsAfterInterval) and (not xEndsBeforeInterval)):<EOL><INDENT>l.append(x)<EOL><DEDENT><DEDENT>if self.left is not None and start <= self.data.mid:<EOL><INDENT>l += self.left.intersectingInterval(start, end)<EOL><DEDENT>if self.right is not None and end >= self.data.mid:<EOL><INDENT>l += self.right.intersectingInterval(start, end)<EOL><DEDENT>return l<EOL>
given an interval, get intervals in the tree that are intersected.

:param start: start of the intersecting interval
:param end:   end of the intersecting interval
:return:      the list of intersected intervals