public void GetImage(Uri uri, Action <byte[]> callback) { var fileName = cachePath + "Smeedee_img" + uri.GetHashCode(); if (File.Exists(fileName)) { var bytes = fileReader.ReadAllBytes(fileName); if (IsMissingImagePlaceholder(bytes)) { bytes = null; } callback(bytes); } else { serviceToCache.GetImage(uri, bytes => SaveAndCallback(bytes, fileName, callback)); } }