void assertAncestry(List<Span> trace) {
    SpanNode root = buildTree(trace);
    assertThat(root.span()).isEqualTo(trace.get(0));

    SpanNode current = root;
    for (int i = 1, length = trace.size() - 1; i < length; i++) {
      current = current.children.get(0);
      assertThat(current.span).isEqualTo(trace.get(i));
      assertThat(current.children).extracting(SpanNode::span)
        .containsExactly(trace.get(i + 1));
    }
  }
Same as {@link #constructsTraceTree()}, except with shared span ID
zipkin/src/test/java/zipkin2/internal/SpanNodeTest.java