private void UpdateFiltersAccept(JetListViewNode node)
        {
            bool filtersAccept = _filters.AcceptNode(node);

            if (node.FiltersAccept && !filtersAccept)
            {
                OnVisibleNodeRemoving(node);
                node.SetFiltersAccept(false);
                OnVisibleNodeRemoved(node);
                node.Parent.UpdateUnacceptedChildCount();
            }
            else if (!node.FiltersAccept && filtersAccept)
            {
                node.SetFiltersAccept(true);
                OnVisibleNodeAdded(node);
                node.Parent.UpdateUnacceptedChildCount();
            }
        }
        internal JetListViewNode Add(object item, JetListViewNode parentNode)
        {
            lock (this)
            {
                _lastUpdatedNode = null;
                if (parentNode == null)
                {
                    parentNode = _rootNode;
                }

                if (parentNode != _rootNode)
                {
                    _flatList = false;
                }

                CollapseState oldCollapseState = parentNode.CollapseState;

                JetListViewNode node = new JetListViewNode(this, item);
                parentNode.AddChild(node);
                _nodeMap.Add(item, node);
                if (_filters != null)
                {
                    filtersAccept = _filters.AcceptNode(node);
                    node.SetFiltersAccept(filtersAccept);
                    if (!filtersAccept)
                    {
                        parentNode.UpdateUnacceptedChildCount();
                    }
                }
                OnNodeAdded(node);
                if (IsNodeVisible(node))
                {
                    OnVisibleNodeAdded(node);
                }
                if (parentNode != _rootNode && IsNodeVisible(parentNode) &&
                    oldCollapseState != parentNode.CollapseState)
                {
                    OnNodeChanged(parentNode);
                }
                return(node);
            }
        }