BinarySearchTreeInsert refactored