private JRFillVariable addVariable( JRVariable parentVariable, List variableList, JRFillObjectFactory factory) { JRFillVariable variable = factory.getVariable(parentVariable); byte calculation = variable.getCalculation(); switch (calculation) { case JRVariable.CALCULATION_AVERAGE: case JRVariable.CALCULATION_VARIANCE: { JRVariable countVar = createHelperVariable(parentVariable, "_COUNT", JRVariable.CALCULATION_COUNT); JRFillVariable fillCountVar = addVariable(countVar, variableList, factory); variable.setHelperVariable(fillCountVar, JRCalculable.HELPER_COUNT); JRVariable sumVar = createHelperVariable(parentVariable, "_SUM", JRVariable.CALCULATION_SUM); JRFillVariable fillSumVar = addVariable(sumVar, variableList, factory); variable.setHelperVariable(fillSumVar, JRCalculable.HELPER_SUM); break; } case JRVariable.CALCULATION_STANDARD_DEVIATION: { JRVariable varianceVar = createHelperVariable(parentVariable, "_VARIANCE", JRVariable.CALCULATION_VARIANCE); JRFillVariable fillVarianceVar = addVariable(varianceVar, variableList, factory); variable.setHelperVariable(fillVarianceVar, JRCalculable.HELPER_VARIANCE); break; } case JRVariable.CALCULATION_DISTINCT_COUNT: { JRVariable countVar = createDistinctCountHelperVariable(parentVariable); JRFillVariable fillCountVar = addVariable(countVar, variableList, factory); variable.setHelperVariable(fillCountVar, JRCalculable.HELPER_COUNT); break; } } variableList.add(variable); return variable; }