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

      if (!getName().equals(other.getName())) return false;
      if (hasEventStreamStartTime() != other.hasEventStreamStartTime()) return false;
      if (hasEventStreamStartTime()) {
        if (!getEventStreamStartTime().equals(other.getEventStreamStartTime())) return false;
      }
      if (hasEventStreamExpirationTime() != other.hasEventStreamExpirationTime()) return false;
      if (hasEventStreamExpirationTime()) {
        if (!getEventStreamExpirationTime().equals(other.getEventStreamExpirationTime()))
          return false;
      }
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }
<pre>
Specifies the data and time at which Storage Transfer Service stops
listening for events from this stream. After this time, any transfers in
progress will complete, but no new transfers are initiated.
</pre>

<code>.google.protobuf.Timestamp event_stream_expiration_time = 3;</code>
java-storage-transfer/proto-google-cloud-storage-transfer-v1/src/main/java/com/google/storagetransfer/v1/proto/TransferTypes.java