Use a slice for the stack instead of a map (makes it erroneously leave overlapping annotations open, but I will fix that in the next commit)
support overlapping annotations