@Override
public String toString() {
return ToString.builder("GetObjectResponse").add("DeleteMarker", deleteMarker()).add("AcceptRanges", acceptRanges())
.add("Expiration", expiration()).add("Restore", restore()).add("LastModified", lastModified())
.add("ContentLength", contentLength()).add("ETag", eTag()).add("MissingMeta", missingMeta())
.add("VersionId", versionId()).add("CacheControl", cacheControl())
.add("ContentDisposition", contentDisposition()).add("ContentEncoding", contentEncoding())
.add("ContentLanguage", contentLanguage()).add("ContentRange", contentRange()).add("ContentType", contentType())
.add("Expires", expires()).add("WebsiteRedirectLocation", websiteRedirectLocation())
.add("ServerSideEncryption", serverSideEncryptionAsString()).add("Metadata", metadata())
.add("SSECustomerAlgorithm", sseCustomerAlgorithm()).add("SSECustomerKeyMD5", sseCustomerKeyMD5())
.add("SSEKMSKeyId", ssekmsKeyId() == null ? null : "*** Sensitive Data Redacted ***")
.add("StorageClass", storageClassAsString()).add("RequestCharged", requestChargedAsString())
.add("ReplicationStatus", replicationStatusAsString()).add("PartsCount", partsCount())
.add("TagCount", tagCount()).add("ObjectLockMode", objectLockModeAsString())
.add("ObjectLockRetainUntilDate", objectLockRetainUntilDate())
.add("ObjectLockLegalHoldStatus", objectLockLegalHoldStatusAsString()).build();
}