/** Adds an expression and returns a reference name. */ public String addExpr(Expr expr) throws PlanningException { if (idToExprBiMap.inverse().containsKey(expr)) { int refId = idToExprBiMap.inverse().get(expr); return idToNamesMap.get(refId).get(0); } String generatedName = plan.generateUniqueColumnName(expr); return addExpr(expr, generatedName); }