Interval tree is a tree designed to hold intervals with the goal of quickly finding overlapping intervals (with any given interval or point). It is typically used for windowing queries.
void insert(final Interval interval);
boolean delete(final Interval interval);
boolean findExactMatch(final Interval interval);
List findOverlaps(final Interval interval);
int nodeCount();
IntervalTreeNode getRoot();
int levelCount();
String printTree();