When I use the Recur.getDates(seed, startRange, endRange, Value.DATETIME) method and use a DAILY recurrence with multiple ByMonth values, the method does not appear to return the correct results. In the example code below, I would expect a list of dates to be returned with 1/11/2013 through 1/31/2013. The method only returns a single date (1/11/2013).
Recur recurrence = new Recur();
recurrence.setFrequency(Recur.DAILY);
recurrence.getMonthList().add(1);
recurrence.getMonthList().add(12);
DateTimeFormatter fmt = ISODateTimeFormat.dateTime();
/* until date */
org.joda.time.DateTime dt = fmt.parseDateTime("2013-03-12T15:00:21.000-05:00");
Date untilDate = dt.toDate();
recurrence.setUntil(new DateTime(untilDate));
/* seed date */
org.joda.time.DateTime seedDt = fmt.parseDateTime("2013-01-11T15:00:21.000-06:00");
Date seedDate = seedDt.toDate();
DateTime seed = new DateTime(seedDate);
/* start date range */
org.joda.time.DateTime startDt = fmt.parseDateTime("2013-01-10T00:00:00.000-06:00");
Date startDate = startDt.toDate();
DateTime start = new DateTime(startDate);
org.joda.time.DateTime endDt = fmt.parseDateTime("2013-02-20T23:59:59.000-06:00");
Date endDate = endDt.toDate();
DateTime end = new DateTime(endDate);
DateList dates = recurrence.getDates(seed, start, end, Value.DATE_TIME);