Made BinaryNode and BinaryTree generic