public static final String NUMBER_FORMAT = "###,###,###,##0.00"; // DecimalFormat is not thread safe so don't init it statically
@Override
public Template render(final Map<String, ?> params) {
final Unit timeUnit = timeUnit(params);
return new Template("report/report.vm",
new MapBuilder<String, Object>()
.set(Map.class.cast(params))
.set("headers", ATTRIBUTES_ORDERED_LIST)
.set("data", snapshotByPath(timeUnit, format(params, NUMBER_FORMAT)))
.build());