code: @Override
      public long until(Temporal endExclusive, TemporalUnit unit) {
          Objects.requireNonNull(endExclusive, "endExclusive");
          ChronoLocalDate end = getChronology().date(endExclusive);
          if (unit instanceof ChronoUnit) {
              switch ((ChronoUnit) unit) {
                  case DAYS: return daysUntil(end);
                  case WEEKS: return daysUntil(end) / 7;
                  case MONTHS: return monthsUntil(end);
                  case YEARS: return monthsUntil(end) / 12;
                  case DECADES: return monthsUntil(end) / 120;
                  case CENTURIES: return monthsUntil(end) / 1200;
                  case MILLENNIA: return monthsUntil(end) / 12000;
                  case ERAS: return end.getLong(ERA) - getLong(ERA);
              }
              throw new UnsupportedTemporalTypeException("Unsupported unit: " + unit);
          }
          Objects.requireNonNull(unit, "unit");
          return unit.between(this, end);
      }
docs: -----------------------------------------------------------------------