public static TM_Xml_Database load_GuidanceItemsFromCache(this TM_Xml_Database tmDatabase) { //"Loading items from cache".info(); var chacheFile = tmDatabase.getCacheLocation(); if (chacheFile.fileExists().isFalse()) { "[TM_Xml_Database] in loadGuidanceItemsFromCache, cached file not found: {0}".error(chacheFile); tmDatabase.xmlDB_Load_GuidanceItems_and_Create_CacheFile(); } else { var o2Timer = new O2Timer("loadGuidanceItemsFromCache").start(); var loadedGuidanceItems = chacheFile.load <List <TeamMentor_Article> >(); o2Timer.stop(); if (loadedGuidanceItems.isNull()) //if we couldn't load it , delete it { Files.deleteFile(chacheFile); } else { o2Timer = new O2Timer("mapping to memory loadGuidanceItemsFromCache").start(); foreach (var loadedGuidanceItem in loadedGuidanceItems) { if (loadedGuidanceItem.notNull()) { TM_Xml_Database.Current.Cached_GuidanceItems.add(loadedGuidanceItem.Metadata.Id, loadedGuidanceItem); } } o2Timer.stop(); } tmDatabase.populateGuidanceItemsFileMappings(); } return(tmDatabase); }