the way using actual model changes seems more clear for me.
Can you provide an example of this? Here's what I am trying to do. I have a checkbox that when I uncheck it I want to remove/hide certain nodes from the tree. So I hooked up a onchange action method to the checkbox and in that method I walk the tree and remove nodes using the tree.removeNode() method. Then I rerender the tree. After the rerender the nodes in the tree I removed are still visible.