private void addToRecord(Map.Entry<GroupOperation, Number> metric, BulletRecord record) { GroupOperation operation = metric.getKey(); Number value = metric.getValue(); switch (operation.getType()) { case COUNT: record.setLong(getResultName(operation), value == null ? 0 : value.longValue()); break; case AVG: record.setDouble(getResultName(operation), calculateAvg(value, operation.getField())); break; case COUNT_FIELD: // Internal use only for AVG. Not exposed. break; case MIN: case MAX: case SUM: record.setDouble(getResultName(operation), value == null ? null : value.doubleValue()); break; } }