@@ -0,0 +1,2635 @@
+/**%0A * TreeNode is a class that stores a Person as the node's value. It also%0A * contains references to a right and left TreeNode.%0A *%0A * @author Richard Harrah%0A * @version 04132014%0A */%0Apublic class TreeNode %7B%0A%0A    private Person val;%0A    private TreeNode lKid;%0A    private TreeNode rKid;%0A%0A    /**%0A     * Create a node from the given parameters.%0A     * %3Cp/%3E%0A     * pre: you need to create a TreeNode and tVal is not null%0A     * %3Cp/%3E%0A     * post: you have a new TreeNode%0A     *%0A     * @param tVal  Person to store in this TreeNode%0A     * @param tLkid reference to left child TreeNode%0A     * @param tRkid reference to right child TreeNode%0A     */%0A    public TreeNode(Person tVal, TreeNode tLkid, TreeNode tRkid) %7B%0A        this.val = tVal;%0A        this.lKid = tLkid;%0A        this.rKid = tRkid;%0A    %7D%0A%0A    /**%0A     * Get the left kid.%0A     * %3Cp/%3E%0A     * pre: you need the left kid of this TreeNode%0A     * %3Cp/%3E%0A     * post: you have the left kid of this TreeNode%0A     *%0A     * @return left child TreeNode%0A     */%0A    public TreeNode getLkid() %7B%0A        return lKid;%0A    %7D%0A%0A    /**%0A     * Set the lKid to the given parameter.%0A     * %3Cp/%3E%0A     * pre: you need to change the left kid of this TreeNode%0A     * %3Cp/%3E%0A     * post: you have changed the left kid of this TreeNode%0A     *%0A     * @param leftKid new left child TreeNode%0A     */%0A    public void setLkid(TreeNode leftKid) %7B%0A        this.lKid = leftKid;%0A    %7D%0A%0A    /**%0A     * Get the right kid.%0A     * %3Cp/%3E%0A     * pre: you need the right kid of this TreeNode%0A     * %3Cp/%3E%0A     * post: you have the right kid of this TreeNode%0A     *%0A     * @return right child TreeNode%0A     */%0A    public TreeNode getRkid() %7B%0A        return rKid;%0A    %7D%0A%0A    /**%0A     * Set the rKid to the given parameter.%0A     * %3Cp/%3E%0A     * pre: you need to change the right kid of this TreeNode%0A     * %3Cp/%3E%0A     * post: you have changed the right kid of this TreeNode%0A     *%0A     * @param rightKid new right child TreeNode%0A     */%0A    public void setRkid(TreeNode rightKid) %7B%0A        this.rKid = rightKid;%0A    %7D%0A%0A    /**%0A     * Get the val of this node.%0A     * %3Cp/%3E%0A     * pre: you need the value of this TreeNode%0A     * %3Cp/%3E%0A     * post: you have the value of this TreeNode%0A     *%0A     * @return value of this TreeNode%0A     */%0A    public Person getVal() %7B%0A        return val;%0A    %7D%0A%0A    /**%0A     * Set the val to the given parameter.%0A     * %3Cp/%3E%0A     * pre: you need to change the value of this TreeNode and val is not null%0A     * %3Cp/%3E%0A     * post: you have changed the value of this TreeNode%0A     *%0A     * @param value new value for TreeNode%0A     */%0A    public void setVal(Person value) %7B%0A        this.val = value;%0A    %7D%0A%0A%7D%0A

add a TreeNode class