public static MemberVersion of(int major, int minor, int patch) {
        if (major == 0 && minor == 0 && patch == 0) {
            return MemberVersion.UNKNOWN;
        } else {
            return new MemberVersion(major, minor, patch);
        }
    }
@Test
    public void testSerialization() {
        MemberVersion given = MemberVersion.of(3, 9, 1);
        SerializationServiceV1 ss = new DefaultSerializationServiceBuilder().setVersion(SerializationServiceV1.VERSION_1).build();
        MemberVersion deserialized = ss.toObject(ss.toData(given));

        assertEquals(deserialized, given);
    }