presto-jdbc/src/main/java/io/prestosql/jdbc/PrestoResultSet.java/PrestoResultSet/AsyncIterator
class PrestoResultSet:        public AsyncIterator(Iterator<T> dataIterator, StatementClient client, Thread parent)
        {
            requireNonNull(dataIterator, "dataIterator is null");
            this.parent = parent;
            this.client = client;
            this.future = CompletableFuture.supplyAsync(() -> {
                while (dataIterator.hasNext()) {
                    try {
                        rowQueue.put(dataIterator.next());
                    }
                    catch (InterruptedException e) {
                        interrupt(e);
                    }
                }
                return null;
            }, executorService);
        }