static Future<Seq<Seq<Span>>> toSeqFuture(List<List<io.zipkin.Span>> traces) {
   List<Seq<Span>> result = new ArrayList<>(traces.size());
   for (List<io.zipkin.Span> trace : traces) {
     List<Span> spans = new ArrayList<>(trace.size());
     for (io.zipkin.Span span : trace) {
       Span converted = convert(span);
       if (converted != null) {
         spans.add(converted);
       }
     }
     result.add(JavaConversions.asScalaBuffer(spans));
   }
   return Future.value(JavaConversions.asScalaBuffer(result).seq());
 }
 @Override
 public Future<String> apply(String req) {
   logger.debug("received : {}", req);
   return Future.value(req);
 }
 @Override
 public Future<Seq<String>> getAllServiceNames() {
   return Future.value(JavaConversions.asScalaBuffer(this.spanStore.getServiceNames()).seq());
 }