protected override void OnActivate()
        {
            RDCGroups = new ObservableCollection <RDCGroup>(_rdcGroupManager.GetGroups());
            RDCGroups.Insert(0, new RDCGroup()
            {
                Name = "All", Id = Guid.NewGuid()
            });
            RDCGroups.Insert(1, new RDCGroup()
            {
                Name = "None", Id = Guid.Empty
            });

            var rdcs = _rdcInstanceManager.GetRDCs()
                       .OrderBy(x => _rdcGroups.FirstOrDefault(y => y.Id == x.GroupId)?.Name ?? "None");

            RDCs = new ObservableCollection <RDC>(rdcs);

            SelectedRDCGroup = RDCGroups.First();

            _groupView = CollectionViewSource.GetDefaultView(_rdcs);
            _groupView.GroupDescriptions.Add(new PropertyGroupDescription("GroupId", new GroupIdToNameConverter(_rdcGroups)));
            _groupView.Filter += (item) =>
            {
                RDC rdc = item as RDC;

                if (!_rdcGroups.Any(x => x.Id == rdc.GroupId))
                {
                    rdc.GroupId = Guid.Empty;
                }

                if ((rdc.GroupId == Guid.Empty && SelectedRDCGroup.Name == "None") ||
                    SelectedRDCGroup.Name == "All" ||
                    rdc.GroupId == SelectedRDCGroup.Id)
                {
                    return(true);
                }

                return(false);
            };
        }