/// <summary>
        /// Compare for <see cref="FileSystem.Path"/> equality.
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <returns></returns>
        public bool Equals(IFileSystem x, IFileSystem y)
        {
            // Handle null
            if (x == null && y == null)
            {
                return(true);
            }
            // Compare
            if (x is FileProviderSystem xFileSystem && y is FileProviderSystem yFileSystem)
            {
                IFileProvider xFileProvider = xFileSystem.FileProvider, yFileProvider = yFileSystem.FileProvider;

                // Handle null
                if (xFileProvider == null && yFileProvider == null)
                {
                    return(true);
                }
                // Handle on enull
                if (xFileProvider == null || yFileProvider == null)
                {
                    return(false);
                }
                // Compare providers
                return(xFileProvider.Equals(yFileProvider));
            }
            // Did not apply
            return(false);
        }