### Question:
DelegatingSpanData implements SpanData { @Override public ReadableAttributes getAttributes() { return delegate.getAttributes(); } protected  DelegatingSpanData(SpanData delegate); @Override String getTraceId(); @Override String getSpanId(); @Override boolean isSampled(); @Override TraceState getTraceState(); @Override String getParentSpanId(); @Override Resource getResource(); @Override InstrumentationLibraryInfo getInstrumentationLibraryInfo(); @Override String getName(); @Override Kind getKind(); @Override long getStartEpochNanos(); @Override ReadableAttributes getAttributes(); @Override List<Event> getEvents(); @Override List<Link> getLinks(); @Override Status getStatus(); @Override long getEndEpochNanos(); @Override boolean getHasRemoteParent(); @Override boolean getHasEnded(); @Override int getTotalRecordedEvents(); @Override int getTotalRecordedLinks(); @Override int getTotalAttributeCount(); @Override final boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test void overrideDelegate() { SpanData spanData = createBasicSpanBuilder().build(); SpanData spanDataWithClientType = new SpanDataWithClientType(spanData); assertThat(spanDataWithClientType.getAttributes().get(CLIENT_TYPE_KEY)).isEqualTo("unknown"); }