Map<DegreeCurricularPlan, List<Integer>> abstractStudentNumbers) {
final Spreadsheet spreadsheet = new Spreadsheet("Shifts");
final List<DegreeCurricularPlan> sorted = new ArrayList<DegreeCurricularPlan>(abstractStudentNumbers.keySet());
Collections.sort(sorted, new BeanComparator("name"));
addHeader(spreadsheet, sorted);
for (final Entry<Shift, Map<DegreeCurricularPlan, Integer>> shiftEntry : calculateStatistics(distribution,
abstractStudentNumbers).entrySet()) {
addRow(spreadsheet, shiftEntry, sorted);