code: @Override  // override with covariant return type
      public HijrahDate date(TemporalAccessor temporal) {
          if (temporal instanceof HijrahDate) {
              return (HijrahDate) temporal;
          }
          return HijrahDate.ofEpochDay(temporal.getLong(EPOCH_DAY));
      }
docs: -----------------------------------------------------------------------