ServiceDate implements Serializable, Comparable<ServiceDate> { public ServiceDate shift(int numberOfDays) { Calendar c = getAsCalendar(_utcTimeZone); c.add(Calendar.DAY_OF_YEAR, numberOfDays); return new ServiceDate(c); } ServiceDate(int year, int month, int day);  ServiceDate(ServiceDate o);  ServiceDate(Calendar calendar);  ServiceDate(Date date);  ServiceDate(); static ServiceDate parseString(String value); int getYear(); int getMonth(); int getDay(); Date getAsDate(); Calendar getAsCalendar(TimeZone timeZone); Date getAsDate(TimeZone timeZone); String getAsString(); ServiceDate next(); ServiceDate previous(); ServiceDate shift(int numberOfDays); long difference(ServiceDate serviceDate); @Override int compareTo(ServiceDate o); @Override String toString(); @Override int hashCode(); @Override boolean equals(Object obj); static void moveCalendarToServiceDate(Calendar c);  }
@Test public void testShift() { assertEquals(new ServiceDate(2012, 03, 15), new ServiceDate(2012, 03, 05).shift(10)); assertEquals(new ServiceDate(2012, 03, 05), new ServiceDate(2012, 03, 15).shift(-10)); assertEquals(new ServiceDate(2012, 03, 12), new ServiceDate(2012, 03, 11).shift(1)); }