private void listUpdateManager_Update(object sender, EventArgs e) { GridRow root = new GridRow(-1); RowGroupAcceptor acceptor = new RowGroupAcceptor(root); CollectionAcceptor ca = new CollectionAcceptor(); bool addedAny = search.PopulateAdapters(acceptor, ca); Program.Invoke(Program.MainWindow, delegate { SaveRowStates(); Clear(); if (!addedAny) { AddNoResultsRow(); } foreach (GridRow row in root.Rows) { AddRow(row); } MetricUpdater.SetXenObjects(ca.XenObjects.ToArray()); RestoreRowStates(); Refresh(); }); }