@Test
  void nullable() {
    repository.insert(generator.get().withId("id1").withValue(true).withNullable(false));
    repository.insert(generator.get().withId("id2").withValue(false).withNullable(true));
    repository.insert(generator.get().withId("id3").withValue(false).withNullable(null));

    ids(holder.nullable.isPresent()).hasContentInAnyOrder("id1", "id2");
    ids(holder.nullable.isAbsent()).hasContentInAnyOrder("id3");
    ids(holder.nullable.is(true)).hasContentInAnyOrder("id2");
    ids(holder.nullable.isTrue()).hasContentInAnyOrder("id2");
    ids(holder.nullable.is(false)).hasContentInAnyOrder("id1");
    ids(holder.nullable.isFalse()).hasContentInAnyOrder("id1");

    // using OptionalValue matcher API
    ids(holder.nullable.is(Optional.empty())).isOf("id3");
    ids(holder.nullable.is(Optional.of(true))).isOf("id2");
    ids(holder.nullable.is(Optional.of(false))).isOf("id1");
  }
Check for empty results on empty backend
criteria/common/test/org/immutables/criteria/typemodel/BooleanTemplate.java