if (month < 0 || month > 11)
if (startDay != 0) { if (startMonth < 0 || startMonth > 11)
  private int checkRule(int month, int day, int dayOfWeek)  {    if (month < 0 || month > 11)      throw new IllegalArgumentException("month out of range");    int daysInMonth = getDaysInMonth(month, 1);    if (dayOfWeek == 0)      {	if (day <= 0 || day > daysInMonth)	  throw new IllegalArgumentException("day out of range");	return DOM_MODE;      }    else if (dayOfWeek > 0)      {	if (Math.abs(day) > (daysInMonth + 6) / 7)	  throw new IllegalArgumentException("dayOfWeekInMonth out of range");	if (dayOfWeek > Calendar.SATURDAY)	  throw new IllegalArgumentException("dayOfWeek out of range");	return DOW_IN_MONTH_MODE;      }    else      {	if (day == 0 || Math.abs(day) > daysInMonth)	  throw new IllegalArgumentException("day out of range");	if (dayOfWeek < -Calendar.SATURDAY)	  throw new IllegalArgumentException("dayOfWeek out of range");	if (day < 0)	  return DOW_LE_DOM_MODE;	else	  return DOW_GE_DOM_MODE;      }  }