calculates all semesters that this session is intended to be heard in . this is not necessarily the same set of semesters as this session is provided in . usually this is a subset of the provided semesters but it is in fact possible that those sets are disjunct . this can happen due to bad planning . concode_field_sep Set<Course> courses concode_elem_sep ObjectProperty<Slot> slotObjectProperty concode_elem_sep HashSet<AbstractUnit> intendedAbstractUnits concode_elem_sep Session session concode_elem_sep Integer time concode_elem_sep DayOfWeek day concode_elem_sep List<String> abstractUnitKeys concode_field_sep String displayText concode_elem_sep Integer getTime concode_elem_sep boolean isTentative concode_elem_sep Set<Course> getIntendedCourses concode_elem_sep int getId concode_elem_sep Integer getGroupId concode_elem_sep void setSlot concode_elem_sep String getDayString concode_elem_sep Slot getSlot concode_elem_sep String trimUnitKey concode_elem_sep DayOfWeek getDayOfWeek concode_elem_sep String getTitle concode_elem_sep int hashCode concode_elem_sep Group getGroup concode_elem_sep boolean equals concode_elem_sep ObjectProperty<Slot> slotProperty concode_elem_sep String toString concode_elem_sep String toString concode_elem_sep Comparator<SessionFacade> displayTextComparator concode_elem_sep Set<Integer> getUnitSemesters concode_elem_sep List<String> getAbstractUnitKeys concode_elem_sep Session getSession concode_elem_sep String getUnitKey concode_elem_sep Set<AbstractUnit> getIntendedAbstractUnits
Set < Integer > function ( ) { return getIntendedAbstractUnits ( ) . stream ( ) . flatMap ( abstractUnit -> abstractUnit . getModuleAbstractUnitSemesters ( ) . stream ( ) . map ( ModuleAbstractUnitSemester :: getSemester ) ) . collect ( Collectors . toSet ( ) ) ; }