@java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasTime()) {
        hash = (37 * hash) + TIME_FIELD_NUMBER;
        hash = (53 * hash) + getTime().hashCode();
      }
      switch (valueCase_) {
        case 2:
          hash = (37 * hash) + ANNOTATION_FIELD_NUMBER;
          hash = (53 * hash) + getAnnotation().hashCode();
          break;
        case 3:
          hash = (37 * hash) + MESSAGE_EVENT_FIELD_NUMBER;
          hash = (53 * hash) + getMessageEvent().hashCode();
          break;
        case 0:
        default:
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }
<pre>
An event describing a message sent/received between Spans.
</pre>

<code>.google.devtools.cloudtrace.v2.Span.TimeEvent.MessageEvent message_event = 3;</code>
java-trace/proto-google-cloud-trace-v2/src/main/java/com/google/devtools/cloudtrace/v2/Span.java