protected CloseableIterator<Pair<GeoWaveInputKey, T>> concatenateWithCallback(
final List<Pair<RangeLocationPair, RowReader<GeoWaveRow>>> inputs,
final NextRangeCallback nextRangeCallback,
final Index index,
final QueryFilter[] filters,
final DataIndexRetrieval dataIndexRetrieval) {
Preconditions.checkNotNull(inputs);
return new CloseableIteratorWrapper<>(new Closeable() {
@Override
public void close() {
for (final Pair<RangeLocationPair, RowReader<GeoWaveRow>> input : inputs) {
input.getRight().close();
}
}
},
rowReaderToKeyValues(
index,
filters,
dataIndexRetrieval,
new ConcatenatedIteratorWithCallback(nextRangeCallback, inputs.iterator())));
}