@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.TransferSpec)) {
        return super.equals(obj);
      }
      com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec other =
          (com.google.storagetransfer.v1.proto.TransferTypes.TransferSpec) obj;

      if (hasObjectConditions() != other.hasObjectConditions()) return false;
      if (hasObjectConditions()) {
        if (!getObjectConditions().equals(other.getObjectConditions())) return false;
      }
      if (hasTransferOptions() != other.hasTransferOptions()) return false;
      if (hasTransferOptions()) {
        if (!getTransferOptions().equals(other.getTransferOptions())) return false;
      }
      if (hasTransferManifest() != other.hasTransferManifest()) return false;
      if (hasTransferManifest()) {
        if (!getTransferManifest().equals(other.getTransferManifest())) return false;
      }
      if (!getSourceAgentPoolName().equals(other.getSourceAgentPoolName())) return false;
      if (!getSinkAgentPoolName().equals(other.getSinkAgentPoolName())) return false;
      if (!getDataSinkCase().equals(other.getDataSinkCase())) return false;
      switch (dataSinkCase_) {
        case 4:
          if (!getGcsDataSink().equals(other.getGcsDataSink())) return false;
          break;
        case 13:
          if (!getPosixDataSink().equals(other.getPosixDataSink())) return false;
          break;
        case 0:
        default:
      }
      if (!getDataSourceCase().equals(other.getDataSourceCase())) return false;
      switch (dataSourceCase_) {
        case 1:
          if (!getGcsDataSource().equals(other.getGcsDataSource())) return false;
          break;
        case 2:
          if (!getAwsS3DataSource().equals(other.getAwsS3DataSource())) return false;
          break;
        case 3:
          if (!getHttpDataSource().equals(other.getHttpDataSource())) return false;
          break;
        case 14:
          if (!getPosixDataSource().equals(other.getPosixDataSource())) return false;
          break;
        case 8:
          if (!getAzureBlobStorageDataSource().equals(other.getAzureBlobStorageDataSource()))
            return false;
          break;
        case 19:
          if (!getAwsS3CompatibleDataSource().equals(other.getAwsS3CompatibleDataSource()))
            return false;
          break;
        case 20:
          if (!getHdfsDataSource().equals(other.getHdfsDataSource())) return false;
          break;
        case 0:
        default:
      }
      if (!getIntermediateDataLocationCase().equals(other.getIntermediateDataLocationCase()))
        return false;
      switch (intermediateDataLocationCase_) {
        case 16:
          if (!getGcsIntermediateDataLocation().equals(other.getGcsIntermediateDataLocation()))
            return false;
          break;
        case 0:
        default:
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
Specifies the agent pool name associated with the posix data sink. When
unspecified, the default name is used.
</pre>

<code>string sink_agent_pool_name = 18;</code>

@return The bytes for sinkAgentPoolName.
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java