@Override
    public Object postProcessAfterInitialization(Object instance, String name) throws Exception {
        if (instance instanceof ScopeModelAware) {
            ScopeModelAware modelAware = (ScopeModelAware) instance;
            modelAware.setScopeModel(scopeModel);
            if (this.moduleModel != null) {
                modelAware.setModuleModel(this.moduleModel);
            }
            if (this.applicationModel != null) {
                modelAware.setApplicationModel(this.applicationModel);
            }
            if (this.frameworkModel != null) {
                modelAware.setFrameworkModel(this.frameworkModel);
            }
        }
        return instance;
    }
@Test
    void testPostProcessAfterInitialization() throws Exception {
        ScopeModelAwareExtensionProcessor processor = new ScopeModelAwareExtensionProcessor(moduleModel);
        MockScopeModelAware mockScopeModelAware = new MockScopeModelAware();
        Object object = processor.postProcessAfterInitialization(
                mockScopeModelAware, mockScopeModelAware.getClass().getName());
        Assertions.assertEquals(object, mockScopeModelAware);

        Assertions.assertEquals(mockScopeModelAware.getScopeModel(), moduleModel);
        Assertions.assertEquals(mockScopeModelAware.getFrameworkModel(), frameworkModel);
        Assertions.assertEquals(mockScopeModelAware.getApplicationModel(), applicationModel);
        Assertions.assertEquals(mockScopeModelAware.getModuleModel(), moduleModel);
    }