@SuppressWarnings({"unchecked", "rawtypes"})
protected Map<String, Number> calculate(List<ModelData> models, List<ColumnData> cs) {
Map<String, Number> data = new FastMap<Number>();
for (int j = 0, jlen = models.size(); j < jlen; j++) {
ModelData m = models.get(j);
for (int i = 0, len = cs.size(); i < len; i++) {
ColumnData c = cs.get(i);
SummaryColumnConfig cf = (SummaryColumnConfig) cm.getColumn(i);
if (cf.getSummaryType() != null) {
data.put(c.name, cf.getSummaryType().render(data.get(c.name), m, c.name, data));