Must cast to TNode to keep compiler happy when using derived classes
Added BinarySearchTree