void (SearchEverywhereContributor<?> contributor) { lock.lock(); try { finishedContributorsSet.add(contributor); Boolean hasMore = hasMoreMap.get(contributor); runInNotificationExecutor(() -> myListener.contributorFinished(contributor, hasMore != null && hasMore.booleanValue())); stopSearchIfNeeded(); } finally { lock.unlock(); } }