private void DownloadImage(GoogleBlock block) { if (MapCache.ContainsKey(block)) { var dimg = MapCache[block]; if (dimg.Bmp != null) //to turn off compile warning { dimg.Timestamp = DateTime.Now.Ticks; } } else { var bmp = DownloadImageFromFile(block) ?? DownloadImageFromGoogle(block, true); if (bmp != null) { bmp = CreateCompatibleBitmap(bmp, GoogleBlock.BlockSize, GoogleBlock.BlockSize, PiFormat); var dimg = new MapCacheItem { Timestamp = DateTime.Now.Ticks, Bmp = bmp }; MapCache[block] = dimg; TruncateImageCache(block); PutMapThreadEvent(WorkerEventType.DrawImage, block, EventPriorityType.Low); } } }