public ListViewItem [] Find (string key, bool searchAllSubItems)
{
if (key == null)
return new ListViewItem [0];
List<ListViewItem> temp_list = new List<ListViewItem> ();
for (int i = 0; i < list.Count; i++) {
ListViewItem lvi = (ListViewItem) list [i];
if (String.Compare (key, lvi.Name, true) == 0)
temp_list.Add (lvi);
}
ListViewItem [] retval = new ListViewItem [temp_list.Count];
temp_list.CopyTo (retval);
return retval;
}