public override object GetValue() { object result; EnsureValues(); values.TryGetValue(this.key, out result); return result; }