public static <T extends Calendar> T addMilliseconds(final T calendar, final int amount) {
        return roll(calendar, amount, CalendarUnit.MILLISECOND);
    }
public static < T extends Calendar > T addMilliseconds ( final T calendar , final int amount ) { return roll ( calendar , amount , CalendarUnit . MILLISECOND ) ; }
Adds a number of milliseconds 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