void () { myInspectionProfilePanel = createInspectionProfileSettingsPanel(); add(myInspectionProfilePanel, BorderLayout.CENTER); UserActivityWatcher userActivityWatcher = new UserActivityWatcher(); userActivityWatcher.addUserActivityListener(() -> { //invoke after all other listeners ApplicationManager.getApplication().invokeLater(() -> { if (isDisposed()) return; //panel was disposed updateProperSettingsForSelection(); updateModificationMarker(); }); }); userActivityWatcher.register(myOptionsPanel); updateSelectedProfileState(); reset(); getProject().getMessageBus().connect(myDisposable).subscribe(ProfileChangeAdapter.TOPIC, new ProfileChangeAdapter() { @Override public void profileChanged(@NotNull InspectionProfile profile) { if (myProfile == profile) { initToolStates(); filterTree(); } } }); }