private IEnumerable <IEntryModel> getEntryModels(IDataObject dataObject)
        {
            if (dataObject.GetDataPresent(DataFormats.FileDrop))
            {
                string[] fileNameList = dataObject.GetData(DataFormats.FileDrop) as string[];
                foreach (var fn in fileNameList)
                {
                    IEntryModel vm = null;
                    try
                    {
                        if (Directory.Exists(fn))
                        {
                            vm = new FileSystemInfoModel(_fsiProfile, new DirectoryInfo(fn));
                        }
                        else if (File.Exists(fn))
                        {
                            vm = new FileSystemInfoModel(_fsiProfile, new FileInfo(fn));
                        }
                    }
                    catch
                    {
                        vm = null;
                    }

                    if (vm != null)
                    {
                        yield return(vm);
                    }
                }
            }
        }
        public override Task <IEntryModel> ParseAsync(string path)
        {
            IEntryModel retVal = null;

            if (Directory.Exists(path))
            {
                retVal = new FileSystemInfoModel(this, createDirectoryInfo(path));
            }
            else
            if (File.Exists(path))
            {
                retVal = new FileSystemInfoModel(this, createFileInfo(path));
            }
            return(Task.FromResult <IEntryModel>(retVal));
        }