public override void InsertRange(int index, ICollection c)
{
if (index < 0 || index > _baseSize) throw new ArgumentOutOfRangeException(nameof(index), SR.ArgumentOutOfRange_Index);
if (c == null)
{
throw new ArgumentNullException(nameof(c));
}
Contract.EndContractBlock();
InternalUpdateRange();
int count = c.Count;
if (count > 0)
{
_baseList.InsertRange(_baseIndex + index, c);
_baseSize += count;
InternalUpdateVersion();
}
}