code: static AccountingDate ofYearDay(AccountingChronology chronology, int prolepticYear, int dayOfYear) {
          Objects.requireNonNull(chronology, "A previously setup chronology is required.");
          YEAR.checkValidValue(prolepticYear);
          DAY_OF_YEAR_RANGE.checkValidValue(dayOfYear, DAY_OF_YEAR);
          boolean leap = chronology.isLeapYear(prolepticYear);
          if (dayOfYear > WEEKS_IN_YEAR * DAYS_IN_WEEK && !leap) {
              throw new DateTimeException("Invalid date 'DayOfYear " + dayOfYear + "' as '" + prolepticYear + "' is not a leap year");
          }
  
          int month = (leap ? chronology.getDivision().getMonthFromElapsedWeeks((dayOfYear - 1) / DAYS_IN_WEEK, chronology.getLeapWeekInMonth())
                  : chronology.getDivision().getMonthFromElapsedWeeks((dayOfYear - 1) / DAYS_IN_WEEK));
          int dayOfMonth = dayOfYear - (leap ? chronology.getDivision().getWeeksAtStartOfMonth(month, chronology.getLeapWeekInMonth())
                  : chronology.getDivision().getWeeksAtStartOfMonth(month)) * DAYS_IN_WEEK;
  
          return new AccountingDate(chronology, prolepticYear, month, dayOfMonth);
      }
docs: Obtains an {@code AccountingDate} representing a date in the given Accounting calendar
  system from the proleptic-year and day-of-year fields.
  <p>
  This returns an {@code AccountingDate} with the specified fields.
  The day must be valid for the year, otherwise an exception will be thrown.
  
  @param chronology  the Accounting chronology to base the date on, not null
  @param prolepticYear  the Accounting proleptic-year
  @param dayOfYear  the Accounting day-of-year, from 1 to 371
  @return the date in Accounting 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,
  NullPointerException if an AccountingChronology was not provided