private TransferManagerConfiguration resolveConfiguration() {
        TransferManagerConfiguration configuration = new TransferManagerConfiguration();
        if (this.minimumUploadPartSize != null) {
            configuration.setMinimumUploadPartSize(minimumUploadPartSize);
        }
        if (this.multipartCopyPartSize != null) {
            configuration.setMultipartCopyPartSize(multipartCopyPartSize);
        }
        if (this.multipartCopyThreshold != null) {
            configuration.setMultipartCopyThreshold(multipartCopyThreshold);
        }
        if (this.multipartUploadThreshold != null) {
            configuration.setMultipartUploadThreshold(multipartUploadThreshold);
        }
        if (this.disableParallelDownloads != null) {
            configuration.setDisableParallelDownloads(disableParallelDownloads);
        }
        if (this.alwaysCalculateMultipartMd5 != null) {
            configuration.setAlwaysCalculateMultipartMd5(alwaysCalculateMultipartMd5);
        }
        return configuration;
    }
Set to true if Transfer Manager should calculate MD5 for multipart uploads.
<p>
For instance, if a bucket is enabled for Object Locking, put requests for
objects and object parts must contain an MD5 digest. Since Transfer Manager
operates on a whole object, the user cannot supply the MD5
digest directly if multipart uploads are in effect.

<p>
Supplying any object locking parameter also instructs Transfer Manager
to calculate MD5 for parts. This flag should be used in instances where
they are not present.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/transfer/TransferManagerBuilder.java