public virtual void Insert(int index, FieldInfo value)
{
int count = _data.Count;
if (index < 0)
throw new ArgumentOutOfRangeException("index", index, "Argument cannot be negative.");
if (index > count)
throw new ArgumentOutOfRangeException("index", index, "Argument cannot exceed Count.");
if (_data.IsUnique) CheckUnique(value);
if (count == _data.Items.Length)
_data.EnsureCapacity(count + 1);
if (index < count)
Array.Copy(_data.Items, index, _data.Items, index + 1, count - index);
_data.Items[index] = value;
_data.Count++;
}