public override Object this [object key] { get { lock (host.SyncRoot) { return(host.GetImpl(key)); } } set { lock (host.SyncRoot) { host.PutImpl(key, value, true); } } }