*/
ProgressListener listener = new MultipleFileTransferProgressUpdatingListener(
progress, additionalListeners);
List<UploadImpl> uploads = new LinkedList<UploadImpl>();
MultipleFileUploadImpl multipleFileUpload = new MultipleFileUploadImpl("Uploading etc", progress, additionalListeners, virtualDirectoryKeyPrefix, bucketName, uploads);
multipleFileUpload.setMonitor(new MultipleFileTransferMonitor(multipleFileUpload, uploads));
final CountDownLatch latch = new CountDownLatch(1);
MultipleFileTransferStateChangeListener transferListener =
new MultipleFileTransferStateChangeListener(latch, multipleFileUpload);
if ( files == null || files.isEmpty()) {
multipleFileUpload.setState(TransferState.Completed);
}
/*
* If the absolute path for the common/base directory does NOT end in a
* separator (which is the case for anything but root directories), then
* we know there's still a separator between the base directory and the