public override void CopyTo(Array array, int index)
{
if (array == null)
throw new ArgumentNullException(nameof(array));
if (array.Rank != 1)
throw new ArgumentException(SR.Arg_RankMultiDimNotSupported, nameof(array));
if (index < 0)
throw new ArgumentOutOfRangeException(nameof(index), SR.ArgumentOutOfRange_NeedNonNegNum);
if (array.Length - index < _baseSize)
throw new ArgumentException(SR.Argument_InvalidOffLen);
Contract.EndContractBlock();
InternalUpdateRange();
_baseList.CopyTo(_baseIndex, array, index, _baseSize);
}