@Override public Builder clone() {
      Builder result = new Builder();
      result.traceId = traceId;
      result.parentId = parentId;
      result.id = id;
      result.kind = kind;
      result.name = name;
      result.timestamp = timestamp;
      result.duration = duration;
      result.localEndpoint = localEndpoint;
      result.remoteEndpoint = remoteEndpoint;
      if (annotations != null) {
        result.annotations = (ArrayList) annotations.clone();
      }
      if (tags != null) {
        result.tags = (TreeMap) tags.clone();
      }
      result.flags = flags;
      return result;
    }
True if we are contributing to a span started by another tracer (ex on a different host).
Defaults to null. When set, it is expected for {@link #kind()} to be {@link Kind#SERVER}.

<p>When an RPC trace is client-originated, it will be sampled and the same span ID is used for
the server side. However, the server shouldn't set span.timestamp or duration since it didn't
start the span.
zipkin/src/main/java/zipkin2/Span.java