public T orElse(T defaultValue) {
        return valid ? value : defaultValue;
    }
@Test
    public void orElse() {
        assertThat(ValueWrapper.of(1).orElse(3)).isEqualTo((Integer) 1);
        assertThat(ValueWrapper.errorWithValidValue(null, null).orElse(3)).isEqualTo(3);
        assertThat(ValueWrapper.of(null).orElse(3)).isNull();
    }