source: class TracingHandler implements Handler<RoutingContext> {
  
      public static SpanContext serverSpanContext(RoutingContext routingContext) {
          SpanContext serverContext = null;
  
          Object object = routingContext.get(CURRENT_SPAN);
          if (object instanceof Span) {
              Span span = (Span) object;
              serverContext = span.context();
          } else {
              log.error("Sever SpanContext is null or not an instance of SpanContext");
          }
  
          return serverContext;
      }
  
      public  TracingHandler(Tracer tracer);
      public  TracingHandler(Tracer tracer, List<WebSpanDecorator> decorators);
  
      @Override public void handle(RoutingContext routingContext);
      protected void handlerNormal(RoutingContext routingContext);
      protected void handlerFailure(RoutingContext routingContext);
      private Handler<Void> finishEndHandler(RoutingContext routingContext, Span span);
  
      protected MockTracer mockTracer;
  
  }
  
  class TracingHandlerTest  {
  
      protected MockTracer mockTracer;
  
      @Test
      public void testLocalSpan() throws Exception {
  
target:         {
              router.route("/localSpan").handler(routingContext -> {
                  SpanContext serverSpanContext = TracingHandler.serverSpanContext(routingContext);
                  io.opentracing.Tracer.SpanBuilder spanBuilder = mockTracer.buildSpan("localSpan");
  
                  spanBuilder.asChildOf(serverSpanContext)
                          .start()
                          .finish();
  
                  routingContext.response()
                          .setStatusCode(202)
                          .end();
              });
  
              request("/localSpan", HttpMethod.GET, 202);
              Awaitility.await().until(reportedSpansSize(), IsEqual.equalTo(2));
          }
          List<MockSpan> mockSpans = mockTracer.finishedSpans();
          Assert.assertEquals(2, mockSpans.size());
  
          Assert.assertEquals(mockSpans.get(0).parentId(), mockSpans.get(1).context().spanId());
          Assert.assertEquals(mockSpans.get(0).context().traceId(), mockSpans.get(1).context().traceId());
      }
  
  }