private static void AddSelectedRule(ManagementList subject, RuleStateDescriptor rsd, Dictionary <string, FilterRulePanelItem> rulesCache)
        {
            FilterRulePanelItem item;

            if (rulesCache.TryGetValue(rsd.UniqueName, out item))
            {
                subject.FilterRulePanel.Controller.AddFilterRulePanelItem(new FilterRulePanelItem(rsd.Rule.DeepCopy(), item.GroupId));
            }
        }
        private void SaveRulesSelected(ManagementList subject)
        {
            if (!VerifyRulesSavableAndRestorable(subject, this.SaveRulesSelected))
            {
                return;
            }

            this.rulesSelected.Clear();
            this.searchBoxText = subject.SearchBox.Text;

            foreach (FilterRulePanelItem item in subject.FilterRulePanel.FilterRulePanelItems)
            {
                RuleStateDescriptor rsd = new RuleStateDescriptor();
                rsd.UniqueName = item.GroupId;
                rsd.Rule       = item.Rule.DeepCopy();

                this.rulesSelected.Add(rsd);
            }
        }