protected override void OnSet(int index, object oldValue, object newValue) { if (parent != null) { parent.OnRemove(this, oldValue); parent.OnAdd(this, newValue); } }