void (@NotNull VcsLogProgressIndicator indicator) { synchronized (myLock) { if (myDisposed) { indicator.cancel(); return; } if (indicator.isVisible()) { Set<ProgressKey> oldKeys = getRunningKeys(); myTasksWithVisibleProgress.add(indicator); if (myTasksWithVisibleProgress.size() == 1) { ProgressKey key = indicator.getKey(); fireNotification(listener -> listener.progressStarted(Collections.singleton(key))); } else { keysUpdated(oldKeys); } } else { myTasksWithSilentProgress.add(indicator); } } }