@Test
  public void stringEmptyNotEmpty() {
    assumeFeature(Feature.STRING_EMPTY);
    final PersonGenerator generator = new PersonGenerator();
    insert(generator.next().withFullName("John").withNickName(Optional.empty()));
    insert(generator.next().withFullName("Adam").withNickName(""));
    insert(generator.next().withFullName("Mary").withNickName("a"));

    check(repository().find(person.nickName.isEmpty())).toList(Person::fullName).hasContentInAnyOrder("Adam");
    check(repository().find(person.nickName.notEmpty())).toList(Person::fullName).hasContentInAnyOrder("Mary");
    check(repository().find(person.nickName.isAbsent())).toList(Person::fullName).hasContentInAnyOrder("John");
    check(repository().find(person.nickName.isPresent())).toList(Person::fullName).hasContentInAnyOrder("Adam", "Mary");
  }
Edge case for empty/non-empty string for null values.
{@code string.notEmpty} should not return empty / missing values
criteria/common/test/org/immutables/criteria/personmodel/AbstractPersonTest.java