protected override object GetInternal(IData keyData) { try { object value; _nearCache.TryGetOrAdd(keyData, data => base.GetInternal(keyData), out value); return(value); } catch (Exception exception) { _nearCache.Invalidate(keyData); throw ExceptionUtil.Rethrow(exception); } }