code: public static <Temporal_ extends Temporal & Comparable<? super Temporal_>> CountableValueRange<Temporal_> createTemporalValueRange(
              Temporal_ from, Temporal_ to, long incrementUnitAmount, TemporalUnit incrementUnitType) {
          return new TemporalValueRange<>(from, to, incrementUnitAmount, incrementUnitType);
      }
docs: Build a {@link CountableValueRange} of a subset of {@link Temporal} values (such as {@link LocalDate} or {@link LocalDateTime}) between 2 bounds.
  All parameters must have the same {@link TemporalUnit}.
  @param from never null, inclusive minimum
  @param to never null, exclusive maximum, {@code >= from}
  @param incrementUnitAmount {@code > 0}
  @param incrementUnitType never null, must be {@link Temporal#isSupported(TemporalUnit) supported} by {@code from} and {@code to}