Доброго времени суток. В компоненте Tree надо переместить ветку дерева, прикинул несколько вариантов, один сработал для двух элементов =/

Код AS1/AS2:
var my_tr:mx.controls.Tree;
my_tr.setSize(200, 140);
var trDP_xml:XML = new XML("<node label='1st Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='2nd Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='3rd Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='4th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='5th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node><node label='6th Local Folders'><node label='Inbox' data='0' /><node label='Outbox' data='1' /></node>");
my_tr.dataProvider = trDP_xml;
var n:Array = new Array();
btn.onRelease = function() {
ln = my_tr.selectedNode.parentNode.childNodes.length;
ind = my_tr.getDisplayIndex(my_tr.selectedNode.parentNode);
for(i=0;i<ln;i++) {
n[i]=my_tr.selectedNode.parentNode.childNodes[i];
}
for(i=0;i<ln;i++) {
my_tr.getTreeNodeAt(ind).addTreeNode(n[i]);
}
for(i=0;i<ln;i++) {
my_tr.removeTreeNodeAt(ind);
}
}
как можно перемещать ветви на рахных глубинах (этот код только для 2-ой), и где тут ошибка?