AbstractTag implements Tag<T> { @Override public abstract void set(Span span, T tagValue); AbstractTag(String tagKey); @Override String getKey(); @Override abstract void set(Span span, T tagValue);  }
@Test public void testSetTagOnSpan() { String value = "foo"; String key = "bar"; Span activeSpan = mock(Span.class); StringTag tag = new StringTag(key); tag.set(activeSpan, value); verify(activeSpan).setTag(key, value); }