using System; using System.Collections.Generic; using System.Collections.ObjectModel; namespace Unity.VisualScripting { public abstract class NonNullableCollection : Collection { protected override void InsertItem(int index, T item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } base.InsertItem(index, item); } protected override void SetItem(int index, T item) { if (item == null) { throw new ArgumentNullException(nameof(item)); } base.SetItem(index, item); } public void AddRange(IEnumerable collection) { foreach (var item in collection) { Add(item); } } } }