@Test
  void quoteEscape() {
    repository.insert(generator.get().withId("id1").withValue("O'Hare"));
    repository.insert(generator.get().withId("id2").withValue("'"));
    repository.insert(generator.get().withId("id3").withValue("''"));
    repository.insert(generator.get().withId("id4").withValue("'test'"));

    ids(string.value.is("O'Hare")).isOf("id1");
    ids(string.value.is("'")).isOf("id2");
    ids(string.value.is("''")).isOf("id3");
    ids(string.value.is("'test'")).isOf("id4");
    ids(string.value.is("'''")).isEmpty();
    ids(string.value.in("'", "''")).hasContentInAnyOrder("id2", "id3");
    ids(string.value.in("O'Hare", "'test'")).hasContentInAnyOrder("id1", "id4");
  }
Usually single-quotes have to be replaced
criteria/common/test/org/immutables/criteria/typemodel/StringTemplate.java