public Builder mergeFrom(com.google.devtools.cloudtrace.v2.Span.TimeEvents other) {
        if (other == com.google.devtools.cloudtrace.v2.Span.TimeEvents.getDefaultInstance())
          return this;
        if (timeEventBuilder_ == null) {
          if (!other.timeEvent_.isEmpty()) {
            if (timeEvent_.isEmpty()) {
              timeEvent_ = other.timeEvent_;
              bitField0_ = (bitField0_ & ~0x00000001);
            } else {
              ensureTimeEventIsMutable();
              timeEvent_.addAll(other.timeEvent_);
            }
            onChanged();
          }
        } else {
          if (!other.timeEvent_.isEmpty()) {
            if (timeEventBuilder_.isEmpty()) {
              timeEventBuilder_.dispose();
              timeEventBuilder_ = null;
              timeEvent_ = other.timeEvent_;
              bitField0_ = (bitField0_ & ~0x00000001);
              timeEventBuilder_ =
                  com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders
                      ? getTimeEventFieldBuilder()
                      : null;
            } else {
              timeEventBuilder_.addAllMessages(other.timeEvent_);
            }
          }
        }
        if (other.getDroppedAnnotationsCount() != 0) {
          setDroppedAnnotationsCount(other.getDroppedAnnotationsCount());
        }
        if (other.getDroppedMessageEventsCount() != 0) {
          setDroppedMessageEventsCount(other.getDroppedMessageEventsCount());
        }
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }
<pre>
A collection of `TimeEvent`s. A `TimeEvent` is a time-stamped annotation
on the span, consisting of either user-supplied key:value pairs, or
details of a message sent/received between Spans.
</pre>

Protobuf type {@code google.devtools.cloudtrace.v2.Span.TimeEvents}
java-trace/proto-google-cloud-trace-v2/src/main/java/com/google/devtools/cloudtrace/v2/Span.java