public Builder mergeS3Metadata(
          com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata value) {
        if (s3MetadataBuilder_ == null) {
          if (dataProviderCase_ == 4
              && dataProvider_
                  != com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata
                      .getDefaultInstance()) {
            dataProvider_ =
                com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata.newBuilder(
                        (com.google.storagetransfer.v1.proto.TransferTypes.S3CompatibleMetadata)
                            dataProvider_)
                    .mergeFrom(value)
                    .buildPartial();
          } else {
            dataProvider_ = value;
          }
          onChanged();
        } else {
          if (dataProviderCase_ == 4) {
            s3MetadataBuilder_.mergeFrom(value);
          } else {
            s3MetadataBuilder_.setMessage(value);
          }
        }
        dataProviderCase_ = 4;
        return this;
      }
<pre>
A S3 compatible metadata.
</pre>

<code>.google.storagetransfer.v1.S3CompatibleMetadata s3_metadata = 4;</code>
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java