Java Immuatable Binary tree