@java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
      return true;
    }
    if (!(obj instanceof com.google.cloud.video.stitcher.v1.Companion)) {
      return super.equals(obj);
    }
    com.google.cloud.video.stitcher.v1.Companion other =
        (com.google.cloud.video.stitcher.v1.Companion) obj;

    if (!getApiFramework().equals(other.getApiFramework())) return false;
    if (getHeightPx() != other.getHeightPx()) return false;
    if (getWidthPx() != other.getWidthPx()) return false;
    if (getAssetHeightPx() != other.getAssetHeightPx()) return false;
    if (getExpandedHeightPx() != other.getExpandedHeightPx()) return false;
    if (getAssetWidthPx() != other.getAssetWidthPx()) return false;
    if (getExpandedWidthPx() != other.getExpandedWidthPx()) return false;
    if (!getAdSlotId().equals(other.getAdSlotId())) return false;
    if (!getEventsList().equals(other.getEventsList())) return false;
    if (!getAdResourceCase().equals(other.getAdResourceCase())) return false;
    switch (adResourceCase_) {
      case 10:
        if (!getIframeAdResource().equals(other.getIframeAdResource())) return false;
        break;
      case 11:
        if (!getStaticAdResource().equals(other.getStaticAdResource())) return false;
        break;
      case 12:
        if (!getHtmlAdResource().equals(other.getHtmlAdResource())) return false;
        break;
      case 0:
      default:
    }
    if (!getUnknownFields().equals(other.getUnknownFields())) return false;
    return true;
  }
<pre>
The list of tracking events for the companion.
</pre>

<code>repeated .google.cloud.video.stitcher.v1.Event events = 9;</code>
java-video-stitcher/proto-google-cloud-video-stitcher-v1/src/main/java/com/google/cloud/video/stitcher/v1/Companion.java