void AddItem (ListViewItem value)
{
if (list.Contains (value))
throw new ArgumentException ("An item cannot be added more than once. To add an item again, you need to clone it.", "value");
if (value.ListView != null && value.ListView != owner)
throw new ArgumentException ("Cannot add or insert the item '" + value.Text + "' in more than one place. You must first remove it from its current location or clone it.", "value");
if (is_main_collection)
value.Owner = owner;
else {
if (value.Group != null)
value.Group.Items.Remove (value);
value.SetGroup (group);
}
list.Add (value);
// force an update of the selected info if the new item is selected.
if (value.Selected)
value.SetSelectedCore (true);
}