public static ValueRange of(long min, long maxSmallest, long maxLargest) {
        return of(min, min, maxSmallest, maxLargest);
    }
public static ValueRange of ( long min , long maxSmallest , long maxLargest ) { return of ( min , min , maxSmallest , maxLargest ) ; }
Obtains a variable value range.
<p>
This factory obtains a range where the minimum value is fixed and the maximum value may vary.
For example, the ISO day-of-month always starts at 1, but ends between 28 and 31.

@param min  the minimum value
@param maxSmallest  the smallest maximum value
@param maxLargest  the largest maximum value
@return the ValueRange for min, smallest max, largest max, not null
@throws IllegalArgumentException if
the minimum is greater than the smallest maximum,
or the smallest maximum is greater than the largest maximum