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