private IList GetCustomFilterSourceCore()
        {
            TokenEditTokenCollection        tokCol = Properties.Tokens;
            TokenEditSelectedItemCollection selCol = Properties.SelectedItems;

            if (selCol.Count == 0)
            {
                return(tokCol);
            }
            HashSet <int> indices = new HashSet <int>();

            for (int i = 0; i < selCol.Count; i++)
            {
                TokenEditToken tok = selCol[i];
                indices.Add(Properties.Tokens.IndexOf(tok));
            }
            List <TokenEditToken> list = new List <TokenEditToken>(tokCol.Count);

            for (int i = 0; i < tokCol.Count; i++)
            {
                if (indices.Contains(i))
                {
                    continue;
                }
                list.Add(tokCol[i]);
            }
            return(list);
        }
        protected override IList GetDataSource()
        {
            TokenEditTokenCollection        tokCol = Properties.Tokens;
            TokenEditSelectedItemCollection selCol = Properties.SelectedItems;
            List <TokenEditToken>           list   = new List <TokenEditToken>(Properties.Tokens.Count);

            for (int i = 0; i < tokCol.Count; i++)
            {
                TokenEditToken tok = tokCol[i];
                if (IsSelected(tok))
                {
                    ObjectWrapper wr = (ObjectWrapper)tok.Value;
                    tok = new TokenEditToken(tok.Description, wr.Clone());
                }
                list.Add(tok);
            }
            return(list);
        }