code: public static FrenchRepublicanCalendar of(
          int year,
          Sansculottides sansculottides
      ) {
  
          if ((year < 1) || (year > MAX_YEAR)) {
              throw new IllegalArgumentException("Year out of range: " + year);
          } else if ((sansculottides == Sansculottides.LEAP_DAY) && !isLeapYear(year)) {
              throw new IllegalArgumentException("Day of Revolution only exists in leap years: " + year);
          }
  
          return new FrenchRepublicanCalendar(year, 360 + sansculottides.getValue());
  
      }
docs: /*[deutsch]
  <p>Erzeugt ein neues franz&ouml;sisches Republikdatum als Erg&auml;nzungstag. </p>
  
  @param   year            republican year in range 1-1202
  @param   sansculottides  the complementary day
  @return  new instance of {@code FrenchRepublicanCalendar}
  @throws  IllegalArgumentException in case of any inconsistencies