ThreadedBST class that supports public methods insert, traverse, and iterator, as well as a constructor that builds an empty tree. For 15 points extra credit, add a delete method that takes a Comparable element and removes it from the tree. Test with the main function in the file A2.java, obtainable from the class web site.
The return type of the iterator method should be BiIterator, which is defined in the file BiIterator.java, also available from the class web site. This interface merely generalizes the Iterator interface to predecessors as well as successors (except that it doesn't require a remove method). If you can't interface with BiIterator, then (for reduced credit), you may take the two nonrecursive traversal methods of the class A2, and make them methods of the ThreadedBST class instead.
The traverse method should perform an ordinary recursive inorder traversal of the underlying binary tree. The delete method should return a boolean value, with the interpretation as for the remove method for Sets. If you are not attempting the extra credit, then just have it return the value false. This way the main function can work without change.