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:
private final BinaryNode NULL_NODE = new BinaryNode();
This required me to write a second constructor that took no parameters.