One call's walk. replaced is what its replace dropped first (empty when it dropped nothing).
One annotation, through dismissRangeAnnotation.
Those removed by one clearRangeAnnotations.
The navigator moved: the new current annotation, or null when the cursor was cleared.
The annotation under the pointer, or null.
An annotation's cells moved, or it went stale or came back.
What changed, handed to addRangeAnnotationListener listeners. One event per change.