@Test
    public void testLombokValue() {
        Handle handle = h2Extension.getSharedHandle();

        final long id1 = 1L;
        final long id2 = 2L;

        List<ValueA> expectedById1 = Collections.singletonList(new ValueA(new ValueB(id1, "first"), new ValueC(id1, "additional")));
        List<ValueA> actualById1 = handle.createQuery(QUERY).bind("id", id1).map(ConstructorMapper.of(ValueA.class)).list();
        assertThat(actualById1).containsExactlyElementsOf(expectedById1);

        List<ValueA> expectedById2 = Collections.singletonList(new ValueA(new ValueB(id2, "second"), null));
        List<ValueA> actualById2 = handle.createQuery(QUERY).bind("id", id2).map(ConstructorMapper.of(ValueA.class)).list();
        assertThat(actualById2).containsExactlyElementsOf(expectedById2);
    }
This is the test case to reproduce #2085. Contributed by @DudkoMatt
<p>
If you look at this class to figure out how to use JDBI with lombok, please be aware that there is a lombok.config file right next to this source file which
is needed to propagate the Nested and PropagateNull annotations onto the autogenerated classes. Without this config file, the test will fail (and so will
your code).
e2e/src/test/java/org/jdbi/v3/e2e/lombok/LombokReflectionTest.java