public function zonedDateTime(Instant $instant, ZoneId $zone)
 {
     return ChronoZonedDateTimeImpl::ofInstant($this, $instant, $zone);
 }
 public function plus($amountToAdd, TemporalUnit $unit)
 {
     if ($unit instanceof ChronoUnit) {
         return $this->adjust($this->dateTime->plus($amountToAdd, $unit));
     }
     return ChronoZonedDateTimeImpl::ensureValid($this->getChronology(), $unit->addTo($this, $amountToAdd));
     /// TODO: Generics replacement Risk!
 }
 /**
  * @inheritdoc
  */
 public function minus($amountToSubtract, TemporalUnit $unit)
 {
     return ChronoZonedDateTimeImpl::ensureValid($this->getChronology(), parent::minus($amountToSubtract, $unit));
 }
 public function atZone(ZoneId $zone)
 {
     return ChronoZonedDateTimeImpl::ofBest($this, $zone, null);
 }