public void setParent(TreeObject nparent)
    {
        if(parent != null)
        {
            parent.removeChild(this);
        }
        if(nparent == null)
        {
            //setting my parent to null is a destroy signal
            destroy();
        } else {
            nparent.addChild(this);
        }
        parent = nparent;
    }