private ImageSource ReadFromDisk(IFileSystemObject fileSystemObject) { ImageSource bitmap = null; //lock (locker) { #if DISPLAY_DEBUG System.Diagnostics.Debug.WriteLine("Cache read from disk " + fileSystemObject.Name); #endif if (fileSystemObject is IDirectoryObject) { bitmap = _Converter.GetImage(fileSystemObject.FullName); } else if (ImageDirectory.IsImage(fileSystemObject as IFileObject)) { using (var stream = (fileSystemObject as IFileObject).OpenRead()) { bitmap = GetBitmap(stream); } } else { bitmap = _Converter.GetImage(fileSystemObject.FullName); } bitmap.Freeze(); } return(bitmap); }