class RestTemplateBeanPostProcessor implements BeanPostProcessor {

    private final RestTemplateEnhance sofaTracerRestTemplateEnhance;

    public RestTemplateBeanPostProcessor(RestTemplateEnhance sofaTracerRestTemplateEnhance) {
        this.sofaTracerRestTemplateEnhance = sofaTracerRestTemplateEnhance;
    }

    @Override
    public Object postProcessAfterInitialization(Object bean, String beanName)
                                                                              throws BeansException {<FILL_FUNCTION_BODY>}
}

        if (bean instanceof RestTemplate restTemplate) {
            sofaTracerRestTemplateEnhance.enhanceRestTemplateWithSofaTracer(restTemplate);
        }
        return bean;
    
<no_super_class>