private List<PartETag> collectPartETags() {

        final List<PartETag> partETags = new ArrayList<PartETag>();
        for (Future<PartETag> future : futures) {
            try {
                partETags.add(future.get());
            } catch (Exception e) {
                throw new SdkClientException("Unable to copy part: "
                        + e.getCause().getMessage(), e.getCause());
            }
        }
        return partETags;
    }
Collects the Part ETags for initiating the complete multi-part copy
request. This is blocking as it waits until all the upload part threads
complete.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/internal/CompleteMultipartCopy.java