@java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + AD_BREAK_ID_FIELD_NUMBER;
    hash = (53 * hash) + getAdBreakId().hashCode();
    hash = (37 * hash) + AD_ID_FIELD_NUMBER;
    hash = (53 * hash) + getAdId().hashCode();
    if (hasAdTimeOffset()) {
      hash = (37 * hash) + AD_TIME_OFFSET_FIELD_NUMBER;
      hash = (53 * hash) + getAdTimeOffset().hashCode();
    }
    hash = (37 * hash) + SKIP_REASON_FIELD_NUMBER;
    hash = (53 * hash) + getSkipReason().hashCode();
    if (!internalGetMedia().getMap().isEmpty()) {
      hash = (37 * hash) + MEDIA_FIELD_NUMBER;
      hash = (53 * hash) + internalGetMedia().hashCode();
    }
    hash = (29 * hash) + getUnknownFields().hashCode();
    memoizedHashCode = hash;
    return hash;
  }
<pre>
Optional. The metadata of the chosen media file for the ad.
</pre>

<code>
map&lt;string, .google.protobuf.Value&gt; media = 5 [(.google.api.field_behavior) = OPTIONAL];
</code>
java-video-stitcher/proto-google-cloud-video-stitcher-v1/src/main/java/com/google/cloud/video/stitcher/v1/AdStitchDetail.java