Maybe the code is a bit confusing, but because insertion into the priority queue is done with `insertWithOverflow`, `spare == null` is going to be true on the first `ordered.size()` iterations of the loop and false afterwards. So here `termsAggFactory.buildTermsEnum(context);` would not be called only once but `ordered.size()` times.