class SpringBeanClassFileTransformer implements HaClassFileTransformer {
    private ClassLoader appClassLoader;
    private Scheduler scheduler;
    private String basePackage;

    public SpringBeanClassFileTransformer(ClassLoader appClassLoader, Scheduler scheduler, String basePackage) {
        this.appClassLoader = appClassLoader;
        this.scheduler = scheduler;
        this.basePackage = basePackage;
    }

    @Override
    public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined,
                            ProtectionDomain protectionDomain,
                            byte[] classfileBuffer) {<FILL_FUNCTION_BODY>}

    @Override
    public boolean isForRedefinitionOnly() {
        return true;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        SpringBeanClassFileTransformer that = (SpringBeanClassFileTransformer) o;
        return Objects.equals(appClassLoader, that.appClassLoader) && Objects.equals(basePackage, that.basePackage);
    }

    @Override
    public int hashCode() {
        return Objects.hash(appClassLoader, basePackage);
    }
}

        if (classBeingRedefined != null) {
            SpringChangesAnalyzer analyzer = new SpringChangesAnalyzer(appClassLoader);
            if (analyzer.isReloadNeeded(classBeingRedefined, classfileBuffer)) {
                scheduler.scheduleCommand(new ClassPathBeanRefreshCommand(classBeingRedefined.getClassLoader(),
                        basePackage, className, classfileBuffer, scheduler));
            }
        }
        return classfileBuffer;
    
<no_super_class>