static ChronoZonedDateTimeImpl<?> ofInstant(Chronology chrono,Instant instant,ZoneId zone){
  ZoneRules rules=zone.getRules();
  ZoneOffset offset=rules.getOffset(instant);
  Objects.requireNonNull(offset,"offset");
  LocalDateTime ldt=LocalDateTime.ofEpochSecond(instant.getEpochSecond(),instant.getNano(),offset);
  ChronoLocalDateTimeImpl<?> cldt=(ChronoLocalDateTimeImpl<?>)chrono.localDateTime(ldt);
  return new ChronoZonedDateTimeImpl<>(cldt,offset,zone);
}

static ChronoZonedDateTimeImpl < ? > ofInstant ( Chronology chrono , Instant instant , ZoneId zone ) { ZoneRules rules = zone . getRules ( ) ; ZoneOffset offset = rules . getOffset ( instant ) ; Objects . requireNonNull ( offset , "offset" ) ; LocalDateTime ldt = LocalDateTime . ofEpochSecond ( instant . getEpochSecond ( ) , instant . getNano ( ) , offset ) ; ChronoLocalDateTimeImpl < ? > cldt = ( ChronoLocalDateTimeImpl < ? > ) chrono . localDateTime ( ldt ) ; return new ChronoZonedDateTimeImpl < > ( cldt , offset , zone ) ; }
obtains an instance from an instant using the specified time - zone .
