// Start all queries in the background.
DownloadObjectRunnable[] runnables = new DownloadObjectRunnable[downloadPackages.length];
final S3Object[] objects = new S3Object[downloadPackages.length];
for (int i = 0; i < runnables.length; i++) {
objects[i] = downloadPackages[i].getObject();
BytesProgressWatcher progressMonitor = new BytesProgressWatcher(objects[i].getContentLength());
incompleteObjectDownloadList.add(objects[i]);
progressWatchers.add(progressMonitor);
runnables[i] = new DownloadObjectRunnable(downloadPackages[i], progressMonitor, restoreLastModifiedDate);