Output when recursion isn't limited:
Inserting 40...
Inserting 20...
Inserting 333...
Inserting 444...
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
(cut...)
Caused by: java.lang.StackOverflowError
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
at com.futureshocked.datastructures.BinaryTree.insert(BinaryTree.java:48)
etc etc etc...