Allow to call b.init multiple times (mainly useful for tests)
Test of deref before rewrite
backpointer exchanged for recursive linear searching (hard to judge speed impact, but creating new nodes should be faster.