### Question:
TraceContext implements Recyclable { @Override public void resetState() { traceId.resetState(); id.resetState(); parentId.resetState(); transactionId.resetState(); outgoingTextHeader.setLength(0); flags = 0; discardable = true; clock.resetState(); serviceName = null; applicationClassLoader = null; traceState.resetState(); traceState.setSizeLimit(coreConfiguration.getTracestateSizeLimit()); } private  TraceContext(ElasticApmTracer tracer, Id id); static boolean containsTraceContextTextHeaders(C carrier, TextHeaderGetter<C> headerGetter); static void removeTraceContextHeaders(C carrier, HeaderRemover<C> headerRemover); static void copyTraceContextTextHeaders(S source, TextHeaderGetter<S> headerGetter, D destination, TextHeaderSetter<D> headerSetter); static TraceContext with64BitId(ElasticApmTracer tracer); static TraceContext with128BitId(ElasticApmTracer tracer); @SuppressWarnings("unchecked") static ChildContextCreatorTwoArg<C, TextHeaderGetter<C>> getFromTraceContextTextHeaders(); @SuppressWarnings("unchecked") static ChildContextCreatorTwoArg<C, BinaryHeaderGetter<C>> getFromTraceContextBinaryHeaders(); static ChildContextCreator<Tracer> fromActive(); static ChildContextCreator<TraceContext> fromParentContext(); static ChildContextCreator<AbstractSpan<?>> fromParent(); static ChildContextCreator<?> asRoot(); void asRootSpan(Sampler sampler); void asChildOf(TraceContext parent); @Override void resetState(); Id getTraceId(); Id getId(); Id getParentId(); Id getTransactionId(); EpochTickClock getClock(); boolean isSampled(); double getSampleRate(); boolean isChildOf(TraceContext other); boolean hasContent(); void copyFrom(TraceContext other); @Override String toString(); boolean isRoot(); @Nullable String getServiceName(); void setServiceName(@Nullable String serviceName); Span createSpan(); Span createSpan(long epochMicros); @Override boolean equals(Object o); boolean idEquals(@Nullable TraceContext o); @Override int hashCode(); @Nullable ClassLoader getApplicationClassLoader(); byte[] serialize(); void serialize(byte[] buffer); void deserialize(byte[] buffer, @Nullable String serviceName); static void deserializeSpanId(Id id, byte[] buffer); static long getSpanId(byte[] serializedTraceContext); boolean traceIdAndIdEquals(byte[] serialized); TraceContext copy(); static final String ELASTIC_TRACE_PARENT_TEXTUAL_HEADER_NAME; static final String W3C_TRACE_PARENT_TEXTUAL_HEADER_NAME; static final String TRACESTATE_HEADER_NAME; static final int SERIALIZED_LENGTH; static final String TRACE_PARENT_BINARY_HEADER_NAME; static final int BINARY_FORMAT_EXPECTED_LENGTH; }### Answer:
@Test void testResetState() { final TraceContext traceContext = TraceContext.with64BitId(tracer); traceContext.asChildOf("00-0af7651916cd43dd8448eb211c80319c-b9c7c989f97918e1-00"); traceContext.resetState(); assertThat(traceContext.getIncomingTraceParentHeader()).isEqualTo("00-00000000000000000000000000000000-0000000000000000-00"); }