code: @Deprecated
      public void setMonth(int month) {
          int y = 0;
          if (month >= 12) {
              y = month / 12;
              month %= 12;
          } else if (month < 0) {
              y = CalendarUtils.floorDivide(month, 12);
              month = CalendarUtils.mod(month, 12);
          }
          BaseCalendar.Date d = getCalendarDate();
          if (y != 0) {
              d.setNormalizedYear(d.getNormalizedYear() + y);
          }
          d.setMonth(month + 1); // adjust 0-based to 1-based month numbering
      }
docs: Sets the month of this date to the specified value. This
  <tt>Date</tt> object is modified so that it represents a point
  in time within the specified month, with the year, date, hour,
  minute, and second the same as before, as interpreted in the
  local time zone. If the date was October 31, for example, and
  the month is set to June, then the new date will be treated as
  if it were on July 1, because June has only 30 days.
  
  @param   month   the month value between 0-11.
  @see     java.util.Calendar
  @deprecated As of JDK version 1.1,
  replaced by <code>Calendar.set(Calendar.MONTH, int month)</code>.