public class TreeNode
{
    public enum Operator { OPERATOR_PLUS, OPERATOR_MINUS, OPERATOR_MULTIPLY, OPERATOR_DIVIDE, OPERATOR_MODULUS, OPERATOR_EXPONENT}

    private TreeNode mParent;
    private TreeNode mLeft;
    private TreeNode mRight;
    private Operator mOperator;

    public TreeNode(TreeNode pParent, Operator pOperator, TreeNode pLeft, TreeNode pRight)
    {
        mParent = pParent;
        mLeft = pLeft;
        mRight = pRight;
        mOperator = pOperator;
    }

    public TreeNode getParent()
    {
        return mParent;
    }

    public Operator getOperator()
    {
        return mOperator;
    }

    public TreeNode getLeft()
    {
        return mLeft;
    }

    public TreeNode getRight()
    {
        return mRight;
    }
}