code: static DiscordianDate ofYearDay(int prolepticYear, int dayOfYear) {
          DiscordianChronology.YEAR_RANGE.checkValidValue(prolepticYear, YEAR);
          DAY_OF_YEAR.checkValidValue(dayOfYear);
          boolean leap = DiscordianChronology.INSTANCE.isLeapYear(prolepticYear);
          if (dayOfYear == 366 && !leap) {
              throw new DateTimeException("Invalid date 'DayOfYear 366' as '" + prolepticYear + "' is not a leap year");
          }
  
          if (leap) {
              if (dayOfYear == ST_TIBS_OFFSET) {
                  // Take care of special case of St Tib's Day.
                  return new DiscordianDate(prolepticYear, 0, 0);
              } else if (dayOfYear > ST_TIBS_OFFSET) {
                  // Offset dayOfYear to account for added day.
                  dayOfYear--;
              }
          }
  
          int month = (dayOfYear - 1) / DAYS_IN_MONTH + 1;
          int dayOfMonth = (dayOfYear - 1) % DAYS_IN_MONTH + 1;
  
          return new DiscordianDate(prolepticYear, month, dayOfMonth);
      }
docs: Obtains a {@code DiscordianDate} representing a date in the Discordian calendar
  system from the proleptic-year and day-of-year fields.
  <p>
  This returns a {@code DiscordianDate} with the specified fields.
  The day must be valid for the year, otherwise an exception will be thrown.
  
  @param prolepticYear  the Discordian proleptic-year
  @param dayOfYear  the Discordian day-of-year, from 1 to 366
  @return the date in Discordian calendar system, not null
  @throws DateTimeException if the value of any field is out of range,
  or if the day-of-year is invalid for the year