rendered paste bodyabstract class Tree<T>{ private Node root; private String[] str; public Tree(String s){ str = s.split(); } public void addNode(){ } abstract void traverse; abstract void parseToTree();//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ private class InternalNode<T> extends Node<T>{ public InternalNode(Node l, Node r, Node p, T elem){ isLeaf = false; super(l, r, p, elem); } } //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ private class LeafNode extends Node{ public LeafNode(null, null, Node p, T elem){ isLeaf = true; super(l, r, p, elem); } }//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ abstract class Node<T>{ private Node left; private Node right; private Node parent; private T element; private boolean isLeaf = null; public Node(Node l, Node r, Node p, T elem){ left = l; right = r; parent = p; element = elem; } public Node getLeft(){ return left; } public Node getRight(){ return right; } public Node getParent(){ return parent; } public T getElem(){ return elem; } public }}