public Commodity Find(string symbol, Annotation details) { Logger.Debug("pool.commodities", () => String.Format("commodity_pool_t::find[ann] symbol {0}\r\n{1}", symbol, details)); Commodity commodity; var key = new Tuple <string, Annotation>(symbol, details); AnnotatedCommodities.TryGetValue(key, out commodity); if (commodity != null) { Logger.Debug("pool.commodities", () => String.Format("commodity_pool_t::find[ann] found symbol {0}\r\n{1}", commodity.BaseSymbol, ((AnnotatedCommodity)commodity).Details)); } return(commodity); }