code: public static boolean isValid(
          int kullishay,
          int vahid,
          int yearOfVahid,
          BadiDivision division,
          int day
      ) {
  
          if ((kullishay < 1) || (kullishay > 3)) {
              return false;
          } else if ((vahid < 1) || (vahid > 19)) {
              return false;
          } else if ((yearOfVahid < 1) || (yearOfVahid > 19)) {
              return false;
          }
  
          if (division instanceof BadiMonth) {
              return ((day >= 1) && (day <= 19));
          } else if (division == BadiIntercalaryDays.AYYAM_I_HA) {
              return ((day >= 1) && (day <= (isLeapYear(kullishay, vahid, yearOfVahid) ? 5 : 4)));
          } else {
              return false;
          }
  
      }
docs: /*[deutsch]
  <p>Pr&uuml;ft, ob die angegebenen Parameter ein wohldefiniertes Kalenderdatum beschreiben. </p>
  
  @param   kullishay       major cycle of 361 years (only values 1, 2 or 3 are permitted)
  @param   vahid           19-year-cycle (in range 1-19)
  @param   yearOfVahid     year in range 1-19
  @param   division        either {@code BadiMonth} or {@code BadiIntercalaryDays}
  @param   day             day in range 1-19 (1-4/5 in case of Ayyam-i-Ha)
  @return  {@code true} if valid else  {@code false}
  @see     #ofComplete(int, int, int, BadiDivision, int)