code: public static Interval of(Instant startInclusive, Instant endExclusive) {
          Objects.requireNonNull(startInclusive, "startInclusive");
          Objects.requireNonNull(endExclusive, "endExclusive");
          if (endExclusive.isBefore(startInclusive)) {
              throw new DateTimeException("End instant must be equal or after start instant");
          }
          return new Interval(startInclusive, endExclusive);
      }
docs: Obtains an instance of {@code Interval} from the start and end instant.
  <p>
  The end instant must not be before the start instant.
  
  @param startInclusive  the start instant, inclusive, MIN_DATE treated as unbounded, not null
  @param endExclusive  the end instant, exclusive, MAX_DATE treated as unbounded, not null
  @return the half-open interval, not null
  @throws DateTimeException if the end is before the start