public static LocalDateRange of(LocalDate startInclusive, Period period) {
        Objects.requireNonNull(startInclusive, "startInclusive");
        Objects.requireNonNull(period, "period");
        if (period.isNegative()) {
            throw new DateTimeException("Period must not be zero or negative");
        }
        return new LocalDateRange(startInclusive, startInclusive.plus(period));
    }
public static LocalDateRange of ( LocalDate startInclusive , Period period ) { Objects . requireNonNull ( startInclusive , "startInclusive" ) ; Objects . requireNonNull ( period , "period" ) ; if ( period . isNegative ( ) ) { throw new DateTimeException ( "Period must not be zero or negative" ) ; } return new LocalDateRange ( startInclusive , startInclusive . plus ( period ) ) ; }
Obtains an instance of {@code LocalDateRange} from the start and a period.
<p>
The end date is calculated as the start plus the duration.
The period must not be negative.
<p>
The constant {@code LocalDate.MIN} can be used to indicate an unbounded far-past.
<p>
The period must not be zero or one day when the start date is {@code LocalDate.MIN}.

@param startInclusive  the inclusive start date, not null
@param period  the period from the start to the end, not null
@return the range, not null
@throws DateTimeException if the end is before the start,
or if the period addition cannot be made
@throws ArithmeticException if numeric overflow occurs when adding the period