code: public static <T extends Calendar> T addDays(final T calendar, final int amount) {
          return roll(calendar, amount, CalendarUnit.DAY);
      }
docs: Adds a number of days to a calendar returning a new object.
  The original {@code Date} is unchanged.
  
  @param calendar  the calendar, not null
  @param amount  the amount to add, may be negative
  @return the new {@code Date} with the amount added
  @throws IllegalArgumentException if the calendar is null