>Can the post filter change between calls?

There will be new postfilter instance per call - it's previous/current context, getWorkUnitsSorted instantiates a postfilter per call and passes to getElementsPaged(), although they of the same flavour.
The postfilter passes avoid re-checking any scope it has seen before - but since a new one is passed in per request, it will end up redoing scopes as it stands. It would be better if it passed in the postfilter and the cached entry linked it and re-used it.