ModuleEditor (@NotNull Module module) { final ModuleEditor moduleEditor = new HeaderHidingTabbedModuleEditor(myProject, this, module) { @Override public ProjectFacetsConfigurator getFacetsConfigurator() { return myFacetsConfigurator; } }; myModuleEditors.put(moduleEditor.getModule(), moduleEditor); moduleEditor.addChangeListener(this); Disposer.register(moduleEditor, new Disposable() { @Override public void dispose() { moduleEditor.removeChangeListener(ModulesConfigurator.this); } }); return moduleEditor; }