void (@NotNull ExtensionPointName<NamingConvention<T>> epName) { Disposable disposable = ExtensionPointUtil.createExtensionDisposable( this, LocalInspectionEP.LOCAL_INSPECTION.getPoint(), inspectionEP -> this.getClass().getName().equals(inspectionEP.implementationClass) ); epName.addExtensionPointListener(new ExtensionPointListener<>() { @Override public void extensionAdded(@NotNull NamingConvention<T> extension, @NotNull PluginDescriptor pluginDescriptor) { registerConvention(extension); } @Override public void extensionRemoved(@NotNull NamingConvention<T> extension, @NotNull PluginDescriptor pluginDescriptor) { unregisterConvention(extension); } }, disposable); }