@Test void constructsTraceTree_qualifiesChildrenOfDuplicateServerSpans() {
    List<Span> trace = List.of(
      Span.newBuilder().traceId("a").id("a").build(),
      Span.newBuilder().traceId("a").parentId("a").id("b").build(),
      localServiceName("foo", Span.newBuilder().traceId("a").parentId("a").id("b").shared(true)),
      localServiceName("bar", Span.newBuilder().traceId("a").parentId("a").id("b").shared(true)),
      localServiceName("bar", Span.newBuilder().traceId("a").parentId("b").id("c")),
      localServiceName("foo", Span.newBuilder().traceId("a").parentId("b").id("d"))
    );

    assertServerAncestry(trace);
  }
Same as {@link #constructsTraceTree()}, except with shared span ID
zipkin/src/test/java/zipkin2/internal/SpanNodeTest.java