public void Inspect(ObjectValue value)
        {
            if (ReplaceExistingNode(value))
            {
                return;
            }

            var node = new DebuggerObjectValueNode(value);

            controller.AddValue(node);
        }
        bool ReplaceExistingNode(ObjectValue value)
        {
            int index = FindExistingNodeIndex(value);

            if (index < 0)
            {
                return(false);
            }

            var existingNode = controller.Root.Children [index];
            var node         = new DebuggerObjectValueNode(value);

            controller.Root.ReplaceValueAt(index, node);

            treeView.LoadEvaluatedNode(existingNode, new[] { node });

            return(true);
        }