public async Task <DumpMiniInfo> GetOrCreateMiniInfo(DumpIdentifier id) { if (dumpRepo.MiniInfoExists(id)) { try { var loadedMiniInfo = await dumpRepo.GetMiniInfo(id); if (loadedMiniInfo.DumpSimilarityInfoVersion == CrashSimilarity.MiniInfoVersion) { return(loadedMiniInfo); } } catch { Console.WriteLine($"could not load miniinfo for {id}. will re-create it."); } } // no mini-info exists yet, or version is outdated. re-create. var result = await dumpRepo.GetResult(id); var miniInfo = (result == null) ? new DumpMiniInfo() // just store an empty mini-info if result is null : CrashSimilarity.SDResultToMiniInfo(result); await dumpRepo.StoreMiniInfo(id, miniInfo); return(miniInfo); }