public CompletableFuture<List<Result>> all() {
        return readCompleted.thenApplyAsync(unusedInput -> {
            final List<Result> list = new ArrayList<>();
            resultQueue.drainTo(list);
            return list;
        }, executor);
    }
The returned {@link CompletableFuture} completes when all reads are complete for this request and the
entire result has been accounted for on the client. While this method is named "all" it really refers to
retrieving all remaining items in the set.  For large result sets it is preferred to use
{@link Iterator} or {@link Stream} options, as the results will be held in memory at once.
gremlin-driver/src/main/java/org/apache/tinkerpop/gremlin/driver/ResultSet.java