class StrategyMonitorContext {
    @Autowired(required = false)
    protected StrategyTracer strategyTracer;

    @Autowired(required = false)
    protected StrategyTracerAdapter strategyTracerAdapter;

    @Autowired(required = false)
    protected List<StrategyHeadersInjector> strategyHeadersInjectorList;

    protected List<String> tracerInjectorHeaderNameList;

    @PostConstruct
    public void initialize() {
        tracerInjectorHeaderNameList = StrategyHeadersResolver.getInjectedHeaders(strategyHeadersInjectorList, HeadersInjectorType.TRACER);
    }

    public String getTraceId() {
        if (strategyTracer != null) {
            return strategyTracer.getTraceId();
        }

        if (strategyTracerAdapter != null) {
            return strategyTracerAdapter.getTraceId();
        }

        return null;
    }

    public String getSpanId() {
        if (strategyTracer != null) {
            return strategyTracer.getSpanId();
        }

        if (strategyTracerAdapter != null) {
            return strategyTracerAdapter.getSpanId();
        }

        return null;
    }

    public List<String> getTracerInjectorHeaderNameList() {
        return tracerInjectorHeaderNameList;
    }

    public Map<String, String> getTracerCustomizationMap() {<FILL_FUNCTION_BODY>}
}

        if (strategyTracerAdapter != null) {
            return strategyTracerAdapter.getCustomizationMap();
        }

        return null;
    
<no_super_class>