@@ -0,0 +1,1105 @@
+/* %0A   Programmers: Kristoffer Larson%0A%0A   Description: %0A      Abstract BinaryTree class, starts the creation of the BinaryTree.%0A%0A%0A*/%0Apublic abstract class BinaryTreeBasis%3CT%3E %7B%0A   protected TreeNode%3CT%3E root;%0A   %0A   public BinaryTreeBasis() %7B%0A      root = null;%0A   %7D // end default constructor%0A   %0A   public BinaryTreeBasis(T rootItem) %7B%0A      root = new TreeNode%3CT%3E(rootItem, null, null);%0A   %7D // end constructor%0A   %0A   public boolean isEmpty() %7B%0A   // Returns true if the tree is empty, else returns false.%0A      return root == null;%0A   %7D // end isEmpty%0A   %0A   public void makeEmpty() %7B%0A   // Removes all nodes from the tree.%0A      root = null;%0A   %7D // end makeEmpty%0A   %0A   public T getRootItem() throws TreeException %7B%0A   // Returns the item in the tree's root.%0A      if (root == null) %7B%0A         throw new TreeException(%22TreeException: Empty tree%22);%0A      %7D%0A      else %7B%0A         return root.item;%0A      %7D // end if%0A   %7D // end getRootItem%0A   %0A   public abstract void setRootItem(T newItem);%0A      // Throws UnsupportedOperationException if operation%0A      // is not supported.%0A%7D // end BinaryTreeBasis%0A

Create BinaryTreeBasis.java