public static Version of(int major, int minor) {
        if (major == UNKNOWN_VERSION && minor == UNKNOWN_VERSION) {
            return UNKNOWN;
        } else {
            return new Version(major, minor);
        }
    }
@Test(expected = AssertionError.class)
    @RequireAssertEnabled
    public void construct_withOverflowingMajor() {
        Version.of(Byte.MAX_VALUE + 1, 1);
    }