class OpenTracingContext {
    // replace TracerFactory with any tracer implementation
    public static TracerFactory tracerFactory = TracerFactory.DEFAULT;
    public static final String ACTIVE_SPAN = "ot_active_span";

    public static Tracer getTracer() {
        return tracerFactory.getTracer();
    }

    public static Span getActiveSpan() {<FILL_FUNCTION_BODY>}

    public static void setActiveSpan(Span span) {
        RpcContext.getContext().putAttribute(ACTIVE_SPAN, span);
    }

    public void setTracerFactory(TracerFactory tracerFactory) {
        OpenTracingContext.tracerFactory = tracerFactory;
    }
}

        Object span = RpcContext.getContext().getAttribute(ACTIVE_SPAN);
        if (span != null && span instanceof Span) {
            return (Span) span;
        }
        return null;
    
<no_super_class>