public Differences FindDifferencesInPathNames(string path1, string path2)
        {
            IEnumerable <string> leftPaths  = _pathProvider.GetTraversedPaths(path1);
            IEnumerable <string> rightPaths = _pathProvider.GetTraversedPaths(path2);

            var left   = new List <string>();
            var right  = new List <string>();
            var common = new List <string>();

            foreach (var path in leftPaths)
            {
                if (rightPaths.Contains(path))
                {
                    common.Add(path);
                }
                else
                {
                    left.Add(path);
                }
            }

            foreach (var path in rightPaths)
            {
                if (!leftPaths.Contains(path))
                {
                    right.Add(path);
                }
            }

            return(new Differences
            {
                Left = left,
                Right = right,
                Common = common
            });
        }