final AchillesFuture<List<TypedMap>> future1 = manager.nativeQuery(statement, entity1.getId()).asyncGet(successCallBack);
final AchillesFuture<List<TypedMap>> future2 = manager.nativeQuery(statement, entity2.getId()).asyncGet();
final List<TypedMap> typedMaps1 = future1.get();
assertThat(typedMaps1).hasSize(1);
TypedMap typedMap1 = typedMaps1.get(0);
final List<TypedMap> typedMaps2 = future2.get();
assertThat(typedMaps2).hasSize(1);
TypedMap typedMap2 = typedMaps2.get(0);
assertThat(typedMap1.get("name")).isEqualTo("DuyHai");
assertThat(typedMap1.get("age_in_years")).isEqualTo(35L);
assertThat(typedMap1.<List<String>>getTyped("friends")).containsExactly("foo", "bar");
assertThat(typedMap1.<Set<String>>getTyped("followers")).contains("George", "Paul");
Map<Integer, String> preferences1 = typedMap1.getTyped("preferences");
assertThat(preferences1.get(1)).isEqualTo("FR");
assertThat(preferences1.get(2)).isEqualTo("Paris");
assertThat(preferences1.get(3)).isEqualTo("75014");
assertThat(typedMap2.get("name")).isEqualTo("John DOO");
assertThat(typedMap2.get("age_in_years")).isEqualTo(35L);
assertThat(typedMap2.<List<String>>getTyped("friends")).containsExactly("qux", "twix");
assertThat(typedMap2.<Set<String>>getTyped("followers")).contains("Isaac", "Lara");
Map<Integer, String> preferences2 = typedMap2.getTyped("preferences");
assertThat(preferences2.get(1)).isEqualTo("US");
assertThat(preferences2.get(2)).isEqualTo("NewYork");
latch.await();
assertThat(successSpy.get()).isNotNull().isInstanceOf(List.class);