private static void SearchDirectory(DirectoryInfo dirInfo)
        {
            if (!_cancellationTokenSource.IsCancellationRequested)
            {
                while (_pauseSearch)
                {
                    // стоит на паузе
                }

                try
                {
                    foreach (var info in dirInfo.GetFileSystemInfos(_searchParams.FileName))
                    {
                        _count++;
                        SearchInfo?.Invoke(new SearchInfoEventArgs(info, _count));

                        if (_cancellationTokenSource.IsCancellationRequested)
                        {
                            break;
                        }

                        while (_pauseSearch)
                        {
                            // стоит на паузе
                        }

                        if (MatchesRestrictions(info))
                        {
                            _foundedCount++;

                            FoundInfo?.Invoke(new FoundInfoEventArgs(info, _foundedCount));
                        }
                    }

                    if (_searchParams.IncludeSubDirsChecked)
                    {
                        foreach (var subDirInfo in dirInfo.GetDirectories())
                        {
                            if (_cancellationTokenSource.IsCancellationRequested)
                            {
                                break;
                            }

                            while (_pauseSearch)
                            {
                                // стоит на паузе
                            }

                            SearchDirectory(subDirInfo);
                        }
                    }
                }
                catch (Exception)
                {
                    // ignored
                }
            }
        }