private FileSystemResult GetResult(string path, bool includeFiles) { var result = new FileSystemResult(); try { result.Parent = _diskProvider.GetParent(path); result.Directories = _diskProvider.GetDirectories(path); if (includeFiles) { result.Files = _diskProvider.GetFiles(path); } } catch (DirectoryNotFoundException) { return(new FileSystemResult { Parent = _diskProvider.GetParent(path) }); } catch (ArgumentException) { return(new FileSystemResult()); } catch (IOException) { return(new FileSystemResult { Parent = _diskProvider.GetParent(path) }); } catch (UnauthorizedAccessException) { return(new FileSystemResult { Parent = _diskProvider.GetParent(path) }); } return(result); }