class Span extends AbstractSpan<Span> implements Recyclable {

    @Override
    public void resetState() {
        super.resetState();
        context.resetState();
        stacktrace = null;
        type = null;
        subtype = null;
        action = null;
        parent = null;
        transaction = null;
        // recycling this array list by clear()-ing it doesn't seem worth it
        // it's used in the context of profiling-inferred spans which entails allocations anyways
        // when trying to recycle this list by clearing it, we increase the static memory overhead of the agent
        // because all spans in the pool contain that list even if they are not used as inferred spans
        stackFrames = null;
    }

    public  Span(ElasticApmTracer tracer);

}