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);
        }