@Test void linksSpansDirectedByKind() {
    List<Span> validRootSpans = List.of(
      span("a", null, "a", Kind.SERVER, "server", "client", false),
      span("a", null, "a", Kind.CLIENT, "client", "server", false)
        .toBuilder().shared(true).build()
    );

    for (Span span : validRootSpans) {
      assertThat(new DependencyLinker().putTrace(List.of(span)).link()).containsOnly(
        DependencyLink.newBuilder().parent("client").child("server").callCount(1L).build()
      );
    }
  }
A root span can be a client-originated trace or a server receipt which knows its peer. In these
cases, the peer is known and kind establishes the direction.
zipkin/src/test/java/zipkin2/internal/DependencyLinkerTest.java