The binary tree class seems to have an error on line 93, when trying to put more than one int into the tree it throws null pointer exception. I think the reason for this is that it calls the find function, using the value that you would want to add to the tree, so of course the find method will only return a null value, unless you happen to be adding the same value twice.