public boolean skipClientSideValidationPerRequest(UploadPartRequest request) {
        if (isPutObjectMd5ValidationDisabledByProperty()) {
            return true;
        }
        return request.getSSECustomerKey() != null;
    }
Determines whether the client should use the {@link Headers#ETAG} header returned by S3 to
validate the integrity of the message client side. We skip the client side check if any of
the following conditions are true:
<ol>
<li>The system property {@value #DISABLE_PUT_OBJECT_MD5_VALIDATION_PROPERTY} is set</li>
<li>The request involves SSE-C or SSE-KMS</li>
</ol>

@return True if client side validation should be skipped, false otherwise.
aws-java-sdk-s3/src/main/java/com/amazonaws/services/s3/internal/SkipMd5CheckStrategy.java