@Override public Object clone() throws CloneNotSupportedException { EvalNode node = (EvalNode) super.clone(); node.type = type; node.leftExpr = leftExpr != null ? (EvalNode) leftExpr.clone() : null; node.rightExpr = rightExpr != null ? (EvalNode) rightExpr.clone() : null; return node; }