ok I can see why this sucks.... my suggestion is to add a custom `MergeTrigger` to Lucene that we can use and then we can just call `private final void maybeMerge(MergeTrigger trigger, int maxNumSegments)` instead?