SearchListener () { SearchListener wrapper = AdvancedSettings.getBoolean("search.everywhere.wait.for.contributors") ? new WaitForContributorsListenerWrapper(mySearchListener, myListModel, WaitForContributorsListenerWrapper.DEFAULT_WAIT_TIMEOUT_MS, WaitForContributorsListenerWrapper.DEFAULT_THROTTLING_TIMEOUT_MS, () -> getSearchPattern()) : new ThrottlingListenerWrapper(mySearchListener); Disposer.register(this, (Disposable)wrapper); if (Registry.is("search.everywhere.detect.slow.contributors")) { wrapper = SearchListener.combine(wrapper, new SlowContributorDetector()); } return wrapper; }