void (@NotNull final ProjectWideFacetListener<Facet> listener, @NotNull final Disposable parentDisposable) { registerListener(listener); Disposer.register(parentDisposable, new Disposable() { @Override public void dispose() { if (!myProject.isDisposed()) { unregisterListener(listener); } } }); }