@Override
  public boolean isBefore(ChronoZonedDateTime<?> other) {

    long thisEpochSec = toEpochSecond();
    long otherEpochSec = other.toEpochSecond();
    return thisEpochSec < otherEpochSec
        || (thisEpochSec == otherEpochSec && getTime().getNano() < other.getTime().getNano());
  }