public static IEnumerable <IFile> GetDroppedFiles(this System.Windows.IDataObject item, Func <string, IFile> fileFromDiskPath)
        {
            var fileNames = (item.GetData(DataFormats.FileDrop) as string[]) ?? new string[0];

            return(fileNames.Length > 0 ? fileNames.Select(fileFromDiskPath) : item.GetFileDescriptorFiles());
        }