  @Test
  public void onCompletionWithCustomErrorDecorators() {

    Span span = mockTracer.buildSpan("test").start();
    try (Scope ignored = mockTracer.activateSpan(span)) {
      TracingCallback callback = new TracingCallback(null, span, mockTracer,
          Arrays.asList(SpanDecorator.STANDARD_TAGS, createDecorator()));
      callback.onCompletion(null, new RuntimeException("test"));
    }

    List<MockSpan> finished = mockTracer.finishedSpans();
    assertEquals(1, finished.size());
    assertEquals(true, finished.get(0).tags().get(Tags.ERROR.getKey()));
    assertEquals("overwritten", finished.get(0).tags().get("error.of"));
    assertEquals("error-test", finished.get(0).tags().get("new.error.tag"));
  }