public ClassTimeInfo(ClassTimeInfo time, ClassDateInfo date, List<Date> dates) { iClassId = time.iClassId; iPreference = time.getPreference(); iStartSlot = time.getStartSlot(); iDayCode = time.getDayCode(); iMinsPerMtg = time.getMinutesPerMeeting(); iLength = time.getLength(); iBreakTime = time.getBreakTime(); iNrMeetings = time.getNrMeetings(); iDate = date; iTimePatternId = time.getTimePatternId(); if (time.iTimePattern != null) iTimePattern = time.iTimePattern; iHashCode = combine(combine(iDayCode, iStartSlot), combine(iLength, date.getId().hashCode())); iDates = dates; }