Mi accorgo adesso che sul movenode() servirebbe anche un controllo che impedisca di spostare un branch all'interno di un suo figlio.
Nella situazione attuale cancella anche il branch padre.
Capisco che non è un'azione sensata ma sappiamo tutti dove può arrivare per esempio un cliente che "gioca" col nostro cms.