BinaryNode should be a nested class within BinarySearchTree (BST), for the purpose of information hiding. (That is, no user of our BST class should need to know about BinaryNodes.)

Note that this may require a few changes in your code: