protected override void RemoveItem(int index) { IExtension <T> extension = base.Items[index]; base.RemoveItem(index); extension.Detached(this._owner); }