public string GetReferences(string taxonomy, string elementID) { taxonomy = Path.GetFileName(taxonomy); if (!this.Taxonomies.ContainsKey(taxonomy)) { return(string.Empty); } if (!referenceCache.ContainsKey(this.Language)) { referenceCache[this.Language] = new Dictionary <string, Dictionary <string, string> >(); } if (!referenceCache[this.Language].ContainsKey(taxonomy)) { string basePath = Path.Combine(GetBasePath(), ReferencesPath); Dictionary <string, string> tmp = referenceCache[this.Language][taxonomy] = new Dictionary <string, string>(); foreach (string referenceFile in this.Taxonomies[taxonomy].ReferenceFiles) { string err; string file = Path.Combine(basePath, referenceFile); if (!Taxonomy.TryGetReferenceInformation(file, ref tmp, out err)) { } } } if (referenceCache[this.Language][taxonomy].ContainsKey(elementID)) { return(referenceCache[this.Language][taxonomy][elementID]); } return(string.Empty); }