docs: private void fetch() throws Exception
    {
      for (; nextFetchIndex < objects.size()
             && fetchedBytes.get() <= prefetchConfig.getMaxFetchCapacityBytes(); nextFetchIndex++) {
        final T object = objects.get(nextFetchIndex);
        LOG.info("Fetching [%d]th object[%s], fetchedBytes[%d]", nextFetchIndex, object, fetchedBytes.get());
        final File outFile = File.createTempFile(FETCH_FILE_PREFIX, null, temporaryDirectory);
        fetchedBytes.addAndGet(download(object, outFile));
        fetchedFiles.put(new FetchedFile<>(object, outFile, getFileCloser(outFile, fetchedBytes)));
      }
    }