private void GetSourceFiles(string path, List <string> files)
        {
            files.AddRange(GetSourceFilesByExtension(path));

            var dirs = DirectoryFunctions.GetDirectories(path)
                       .Select(Path.GetFileName)
                       .Where(s => !DirectoryExclusionFilters.Any(regex => regex.IsMatch(s)));

            foreach (var dir in dirs)
            {
                GetSourceFiles(Path.Combine(path, dir), files);
            }
        }
 private IEnumerable <string> GetSourceFilesByExtension(string path) => DirectoryFunctions.GetFiles(path).Where(s => Path.GetExtension(s) == ".cs");