protected void Insert(int index, object item) { this.OnValidate(item, true); base.InnerList.Insert(index, item); try { this.OnItemsAdded(index, new object[] { item }); } catch { base.InnerList.Remove(item); throw; } }