I think it would be nicer to move this method (and it's counter part `getBackgroundFrequency(IndexReader, long)` ) to a separate construct - `TermDocFreqs` that will encapsulate all this logic) it feels unnatural for the factory to handle this (as well to pass in the factory to the aggregator)