protected string GetHashString(object value) { if (EnableCaching) { if (!_cache4Object2Hash.ContainsKey(value)) { var hash = HashService.GetHashCode(value); TraceService.VerboseFormat(0, "GetHashString() - cold hit, adding value to cache:[{0}] -> [{1}]", new object[] { value, hash }, null); _cache4Object2Hash.Add(value, hash); } else { var hash = _cache4Object2Hash[value]; TraceService.VerboseFormat(0, "GetHashString() - hot hit, returning value from cache:[{0}] -> [{1}]", new object[] { value, hash }, null); } return(_cache4Object2Hash[value]); } else { var hash = HashService.GetHashCode(value); TraceService.VerboseFormat(0, "GetHashString() - hot hit, returning value from cache:[{0}] -> [{1}]", new object[] { value, hash }, null); return(hash); } }