@java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
        return true;
      }
      if (!(obj instanceof com.google.storagetransfer.v1.proto.TransferTypes.TransferOptions)) {
        return super.equals(obj);
      }
      com.google.storagetransfer.v1.proto.TransferTypes.TransferOptions other =
          (com.google.storagetransfer.v1.proto.TransferTypes.TransferOptions) obj;

      if (getOverwriteObjectsAlreadyExistingInSink()
          != other.getOverwriteObjectsAlreadyExistingInSink()) return false;
      if (getDeleteObjectsUniqueInSink() != other.getDeleteObjectsUniqueInSink()) return false;
      if (getDeleteObjectsFromSourceAfterTransfer()
          != other.getDeleteObjectsFromSourceAfterTransfer()) return false;
      if (overwriteWhen_ != other.overwriteWhen_) return false;
      if (hasMetadataOptions() != other.hasMetadataOptions()) return false;
      if (hasMetadataOptions()) {
        if (!getMetadataOptions().equals(other.getMetadataOptions())) return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
Represents the selected metadata options for a transfer job.
</pre>

<code>.google.storagetransfer.v1.MetadataOptions metadata_options = 5;</code>
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java