presto-iceberg/src/main/java/io/prestosql/plugin/iceberg/IcebergSplitSource.java/IcebergSplitSource/getNextBatch
class IcebergSplitSource:    @Override
    public CompletableFuture<ConnectorSplitBatch> getNextBatch(ConnectorPartitionHandle partitionHandle, int maxSize)
    {
        // TODO: move this to a background thread
        List<ConnectorSplit> splits = new ArrayList<>();
        TupleDomain<IcebergColumnHandle> predicate = convertTupleDomainTypes(this.predicate);
        Iterator<FileScanTask> iterator = limit(fileScanIterator, maxSize);
        while (iterator.hasNext()) {
            FileScanTask task = iterator.next();
            splits.add(toIcebergSplit(predicate, task));
        }
        return completedFuture(new ConnectorSplitBatch(splits, isFinished()));
    }