private void OnRepositoryChangeDetected(Repository repo) { string path = repo?.Path; if (string.IsNullOrEmpty(path)) { return; } if (_repositoryIgnoreStore.IsIgnored(repo.Path)) { return; } if (!_repositoryInformationAggregator.HasRepository(path)) { CreateRepositoryObserver(repo, path); // use that delay to prevent a lot of sequential writes // when a lot repositories get found in a row _storeFlushTimer.Change(5000, Timeout.Infinite); } OnChangeDetected?.Invoke(this, repo); _repositoryInformationAggregator.Add(repo); }