@Override public synchronized Call<List<List<Span>>> getTraces(Iterable<String> traceIds) {
    Set<String> normalized = new LinkedHashSet<>();
    for (String traceId : traceIds) {
      normalized.add(Span.normalizeTraceId(traceId));
    }

    // Our index is by lower-64 bit trace ID, so let's build trace IDs to fetch
    Set<String> lower64Bit = new LinkedHashSet<>();
    for (String traceId : normalized) {
      lower64Bit.add(lowTraceId(traceId));
    }

    List<List<Span>> result = new ArrayList<>();
    for (String lowTraceId : lower64Bit) {
      List<Span> sameTraceId = spansByTraceId(lowTraceId);
      if (strictTraceId) {
        for (List<Span> trace : strictByTraceId(sameTraceId)) {
          if (normalized.contains(trace.get(0).traceId())) {
            result.add(trace);
          }
        }
      } else {
        result.add(sameTraceId);
      }
    }

    return Call.create(result);
  }
Used for testing. Returns all dependency links unconditionally.
zipkin/src/main/java/zipkin2/storage/InMemoryStorage.java