public void CopyTo (Array dest, int index)
{
if (!owner.is_selection_available)
return;
if (index > Count) // Throws ArgumentException instead of IOOR exception
throw new ArgumentException ("index");
for (int i = 0; i < Count; i++)
dest.SetValue (this [i], index++);
}