/// <summary>
        /// Calculates the FileSystemInfo object's relative path to a DirectoryInfo object
        /// </summary>
        /// <param name="item"></param>
        /// <returns></returns>
        public static string RelativePathOfItem(this DirectoryInfo directory, FileSystemInfo item)
        {
            Mandate.That <ArgumentNullException>(item != null);
            Mandate.That <ArgumentException>(item.FullName.Contains(directory.FullName));

            return(item.FullName.Replace(directory.FullName, String.Empty).TrimStart(Path.DirectorySeparatorChar));
        }