cal.set(Calendar.MILLISECOND, 0); if (frequency == RolloverFrequency.ANNUALLY) { increment(cal, Calendar.YEAR, increment, modulus); nextTime = cal.getTimeInMillis(); cal.add(Calendar.YEAR, -1); increment(cal, Calendar.MONTH, increment, modulus); nextTime = cal.getTimeInMillis(); cal.add(Calendar.MONTH, -1); increment(cal, Calendar.WEEK_OF_YEAR, increment, modulus); cal.set(Calendar.DAY_OF_WEEK, currentCal.getFirstDayOfWeek()); nextTime = cal.getTimeInMillis(); increment(cal, Calendar.DAY_OF_YEAR, increment, modulus); nextTime = cal.getTimeInMillis(); cal.add(Calendar.DAY_OF_YEAR, -1); increment(cal, Calendar.HOUR_OF_DAY, increment, modulus); nextTime = cal.getTimeInMillis(); cal.add(Calendar.HOUR_OF_DAY, -1); increment(cal, Calendar.MINUTE, increment, modulus); nextTime = cal.getTimeInMillis(); cal.add(Calendar.MINUTE, -1); increment(cal, Calendar.SECOND, increment, modulus); nextTime = cal.getTimeInMillis(); cal.add(Calendar.SECOND, -1);