@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasObjectConditions()) {
        hash = (37 * hash) + OBJECT_CONDITIONS_FIELD_NUMBER;
        hash = (53 * hash) + getObjectConditions().hashCode();
      }
      if (hasTransferOptions()) {
        hash = (37 * hash) + TRANSFER_OPTIONS_FIELD_NUMBER;
        hash = (53 * hash) + getTransferOptions().hashCode();
      }
      switch (dataSourceCase_) {
        case 1:
          hash = (37 * hash) + GCS_DATA_SOURCE_FIELD_NUMBER;
          hash = (53 * hash) + getGcsDataSource().hashCode();
          break;
        case 0:
        default:
      }
      switch (dataSinkCase_) {
        case 2:
          hash = (37 * hash) + GCS_DATA_SINK_FIELD_NUMBER;
          hash = (53 * hash) + getGcsDataSink().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<pre>
Specifies the metadata options to be applied during replication.
Delete options are not supported. If a delete option is specified, the
request fails with an [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]
error.
</pre>

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