I think this method should either 

1) Assume that general filtering of segments has already happened (so it doesn't have to make sure that the segments are in the query interval)
2) Assume that no filtering has occurred and _all_ potential filtering must be done in this method.

I'm more of a fan of (1).