@Test
public void testLoadByQueryOpt() throws Exception {

    TestUser created = dao.create(TestUser.builder().name("Ian").email("ian@example.com").build());
    TestUser load = dao.loadByQueryOpt(new Document("email", "ian@example.com")).get();
    assertEquals(load, created);
    assertFalse(dao.loadByQueryOpt(new Document("email", "bob@example.com")).isPresent());
}