@Override public List<IVariable> getOutputVariables() { try { final List<IVariable> ret = super.getOutputVariables(); final MotorContainer cont = (MotorContainer) motorsParam.getBeanFromValue(MotorContainer.class); if (cont == null || cont.isEmpty()) return ret; for (MotorBean mb : cont.getExpressions()) { ret.add( new Variable( mb.getMotorName().substring(mb.getMotorName().lastIndexOf('/') + 1), VARIABLE_TYPE.SCALAR, mb.getExpression(), String.class)); } return ret; } catch (Exception e) { logger.error("Cannot read variables", e); return null; } }