code: public static FrenchRepublicanCalendar of(
          int year,
          int month,
          int dayOfMonth
      ) {
  
          if ((year < 1) || (year > MAX_YEAR) || (month < 1) || (month > 12) || (dayOfMonth < 1) || (dayOfMonth > 30)) {
              throw new IllegalArgumentException(
                  "Invalid French republican date: year=" + year + ", month=" + month + ", day=" + dayOfMonth);
          }
  
          return new FrenchRepublicanCalendar(year, (month - 1) * 30 + dayOfMonth);
  
      }
docs: /*[deutsch]
  <p>Erzeugt ein neues franz&ouml;sisches Republikdatum. </p>
  
  @param   year        republican year in range 1-1202
  @param   month       republican month in range 1-12
  @param   dayOfMonth  day of month in range 1-30
  @return  new instance of {@code FrenchRepublicanCalendar}
  @throws  IllegalArgumentException in case of any inconsistencies