docs: @SuppressWarnings("unchecked")
    public <T> CompletableFuture<T> apply(long index) {
      CompletableFuture<T> future = futures.computeIfAbsent(index, i -> new CompletableFuture<T>());
      enqueueBatch(index);
      return future;
    }