public virtual ListViewItem this [string key] { get { int idx = IndexOfKey (key); return idx == -1 ? null : (ListViewItem) List [idx]; } }