ops ... oltre a quello che ho scritto ho notato che l' update lo faccio sul tree_id del branch ... ovvero inserisco un nuovo record nella tabella tree poi aggiorno quel vecchio branch con questo nuovo tree_id

alla fine e' anche meno complesso di come l' avevo descritto