* @throws CalendricalException if the result exceeds the supported range
*/
public static ZonedDateTime fromInstant(OffsetDateTime dateTime, TimeZone zone) {
ISOChronology.checkNotNull(dateTime, "OffsetDateTime must not be null");
ISOChronology.checkNotNull(zone, "TimeZone must not be null");
ZoneRules rules = zone.getRules(); // latest rules version
if (rules.isValidDateTime(dateTime) == false) {
ZoneOffset offsetForInstant = rules.getOffset(dateTime);
dateTime = dateTime.withOffsetSameInstant(offsetForInstant);
}
return new ZonedDateTime(dateTime, zone);
}