code: public Set<Interval<T>> query(T point){
  		return TreeNode.query(root, point, new HashSet<Interval<T>>());
  	}
docs: Searches for and returns all intervals stored in the tree, that contain a given
  query point. This operation is guaranteed to run in {@code O(logn + k)}, where
  {@code n} is the size of the tree and {@code k} is the size of the returned set,
  provided that the time complexity of iterating over the intervals stored in each
  visited node is amortized {@code O(1)}. This assumption is met for the current
  implementation of {@link TreeNode}, where {@link TreeSet}s are used.
  
  @param point The query point.
  @return A set containing all intervals from the tree, intersecting the query point.