private double evaluateNode(TreeNode root) // recursive { if (isOperator((String) root.getValue())) { return computeTerm( (String) root.getValue(), evaluateNode(root.getLeft()), evaluateNode(root.getRight())); } else return Double.parseDouble((String) root.getValue()); }