private MSRecurrence getRecurrence(EventRecurrence recurrence) { if (recurrence.getKind() == RecurrenceKind.none) { return null; } MSRecurrence r = new MSRecurrence(); switch (recurrence.getKind()) { case daily: r.setType(RecurrenceType.DAILY); break; case monthlybydate: r.setType(RecurrenceType.MONTHLY); break; case monthlybyday: r.setType(RecurrenceType.MONTHLY_NDAY); break; case weekly: r.setType(RecurrenceType.WEEKLY); r.setDayOfWeek(RecurrenceDayOfWeekConverter.fromRecurrenceDays(recurrence.getDays())); break; case yearly: r.setType(RecurrenceType.YEARLY); break; case yearlybyday: r.setType(RecurrenceType.YEARLY_NDAY); break; case none: r.setType(null); break; } r.setUntil(recurrence.getEnd()); r.setInterval(recurrence.getFrequence()); return r; }