private void buildPartial0(com.google.devtools.cloudtrace.v2.Span result) {
      int from_bitField0_ = bitField0_;
      if (((from_bitField0_ & 0x00000001) != 0)) {
        result.name_ = name_;
      }
      if (((from_bitField0_ & 0x00000002) != 0)) {
        result.spanId_ = spanId_;
      }
      if (((from_bitField0_ & 0x00000004) != 0)) {
        result.parentSpanId_ = parentSpanId_;
      }
      int to_bitField0_ = 0;
      if (((from_bitField0_ & 0x00000008) != 0)) {
        result.displayName_ =
            displayNameBuilder_ == null ? displayName_ : displayNameBuilder_.build();
        to_bitField0_ |= 0x00000001;
      }
      if (((from_bitField0_ & 0x00000010) != 0)) {
        result.startTime_ = startTimeBuilder_ == null ? startTime_ : startTimeBuilder_.build();
        to_bitField0_ |= 0x00000002;
      }
      if (((from_bitField0_ & 0x00000020) != 0)) {
        result.endTime_ = endTimeBuilder_ == null ? endTime_ : endTimeBuilder_.build();
        to_bitField0_ |= 0x00000004;
      }
      if (((from_bitField0_ & 0x00000040) != 0)) {
        result.attributes_ = attributesBuilder_ == null ? attributes_ : attributesBuilder_.build();
        to_bitField0_ |= 0x00000008;
      }
      if (((from_bitField0_ & 0x00000080) != 0)) {
        result.stackTrace_ = stackTraceBuilder_ == null ? stackTrace_ : stackTraceBuilder_.build();
        to_bitField0_ |= 0x00000010;
      }
      if (((from_bitField0_ & 0x00000100) != 0)) {
        result.timeEvents_ = timeEventsBuilder_ == null ? timeEvents_ : timeEventsBuilder_.build();
        to_bitField0_ |= 0x00000020;
      }
      if (((from_bitField0_ & 0x00000200) != 0)) {
        result.links_ = linksBuilder_ == null ? links_ : linksBuilder_.build();
        to_bitField0_ |= 0x00000040;
      }
      if (((from_bitField0_ & 0x00000400) != 0)) {
        result.status_ = statusBuilder_ == null ? status_ : statusBuilder_.build();
        to_bitField0_ |= 0x00000080;
      }
      if (((from_bitField0_ & 0x00000800) != 0)) {
        result.sameProcessAsParentSpan_ =
            sameProcessAsParentSpanBuilder_ == null
                ? sameProcessAsParentSpan_
                : sameProcessAsParentSpanBuilder_.build();
        to_bitField0_ |= 0x00000100;
      }
      if (((from_bitField0_ & 0x00001000) != 0)) {
        result.childSpanCount_ =
            childSpanCountBuilder_ == null ? childSpanCount_ : childSpanCountBuilder_.build();
        to_bitField0_ |= 0x00000200;
      }
      if (((from_bitField0_ & 0x00002000) != 0)) {
        result.spanKind_ = spanKind_;
      }
      result.bitField0_ |= to_bitField0_;
    }
<pre>
A span represents a single operation within a trace. Spans can be
nested to form a trace tree. Often, a trace contains a root span
that describes the end-to-end latency, and one or more subspans for
its sub-operations.

A trace can also contain multiple root spans, or none at all.
Spans do not need to be contiguous. There might be
gaps or overlaps between spans in a trace.
</pre>

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