}
@Override
public FacetIterator iterator() {
if (_predefinedRanges != null) {
BigSegmentedArray rangeCounts = new LazyBigIntArray(_predefinedRangeIndexes.length);
for (int k = 0; k < _predefinedRangeIndexes.length; ++k) {
int count = 0;
int idx = _predefinedRangeIndexes[k][0];
int end = _predefinedRangeIndexes[k][1];
while (idx <= end) {
count += _count.get(idx++);
}
rangeCounts.add(k, rangeCounts.get(k) + count);
}
return new DefaultFacetIterator(_predefinedRanges, rangeCounts, rangeCounts.size(), true);
}
return null;
}