public static <U> U valueOrElse(Versioned<U> versioned, U defaultValue) {
        return versioned == null ? defaultValue : versioned.value();
    }
@Test
    public void testOrElse() {
        Versioned<String> vv = new Versioned<>("foo", 1);
        Versioned<String> nullVV = null;
        assertThat(Versioned.valueOrElse(vv, "bar"), is("foo"));
        assertThat(Versioned.valueOrElse(nullVV, "bar"), is("bar"));
    }