void IForEachItemDetailedCollectionBehavior <TCollItem> .OnItemRemoved
 (
     IEnumerable <TCollItem> collection,
     TCollItem item,
     int oldIdx)
 {
     UnsetItemDelegate?.Invoke(collection, item, oldIdx);
 }
 protected override void UnsetItem(T item)
 {
     UnsetItemDelegate?.Invoke(item);
 }
 void ICollectionItemBehavior <TCollItem> .OnItemRemoved(TCollItem item)
 {
     UnsetItemDelegate?.Invoke(item);
 }