private int AddInternal(TreeNode node, int delta)
{
if (node == null)
throw new ArgumentNullException("node");
if (node.parent != null) node.Remove();
node.parent = this.owner;
node.index = items.Count;
items.Add(node);
if (owner.TreeView != null)
{
node.treeView = owner.TreeView;
}
return node.index;
}