code: static CopticDate ofEpochDay(final long epochDay) {
          EPOCH_DAY.range().checkValidValue(epochDay, EPOCH_DAY);  // validate outer bounds
          long copticED = epochDay + EPOCH_DAY_DIFFERENCE;
          int adjustment = 0;
          if (copticED < 0) {
              copticED = copticED + (1461L * (1_000_000L / 4));
              adjustment = -1_000_000;
          }
          int prolepticYear = (int) (((copticED * 4) + 1463) / 1461);
          int startYearEpochDay = (prolepticYear - 1) * 365 + (prolepticYear / 4);
          int doy0 = (int) (copticED - startYearEpochDay);
          int month = doy0 / 30 + 1;
          int dom = doy0 % 30 + 1;
          return new CopticDate(prolepticYear + adjustment, month, dom);
      }
docs: Obtains a {@code CopticDate} representing a date in the Coptic calendar
  system from the epoch-day.
  
  @param epochDay  the epoch day to convert based on 1970-01-01 (ISO)
  @return the date in Coptic calendar system, not null
  @throws DateTimeException if the epoch-day is out of range