

public class TreeNode<E> {
    private E data;
    private TreeNode<E> left;
    private TreeNode<E> right;
        
    public TreeNode(E d, TreeNode<E> l, TreeNode<E> r) {
        this.data = d;
        this.left = l;
        this.right = r;
    }
        
    public E getData() {
        return this.data;
    }
        
    public TreeNode<E> getLeft() {
        return this.left;
    }
        
    public TreeNode<E> getRight() {
        return this.right;
    }
        
    public void setData(E newData) {
        this.data = newData;
    }
        
    public void setLeft(TreeNode<E> newLeft) {
        this.left = newLeft;
    }
        
    public void setRight(TreeNode<E> newRight) {
        this.right = newRight;
    }
}

