I have tree structure like below using AsyncTreeNode and a treeloader

root
+-item1
+----item2
+------item3

Is it possible to replace item2 with a new node and then change item2 parent to the new node to have something like below without going through all the nodes or reloading the tree

root
+-item1
+----newnode
+------item2
+--------item3

I tried just swapping parent node but without success.

Code:
newnode = new Ext.tree.AsyncTreeNode(attributesofnewnode);
var item2= item1.firstChild; //gets item2

item1.appendChild(newnode);

item2.parentNode = newnode;