java tree parent pointers