Well since any Items might have been added or removed between sorting invocations I need to figure out what items are actually in use.

I cannot really see what can be cached here ... ?

On a side note I'm looking into doing a patch on Jenkins so that the Queuehandler can get callbacks as Items are added and removed.