@Test
public void createsListOfMaps() throws Exception {

    ObjectValue jsonObject1 = createJsonObject("1", createJsonBook(createJavaScriptBook()));
    ObjectValue jsonObject2 = createJsonObject("1", createJsonBook(createJunitBook()),
                                               "2", createJsonBook(createCSharpBook())
                                              );
    ArrayValue jsonArray = createJsonArray(jsonObject1, jsonObject2);
    List list = ObjectBuilder.createCollection(List.class,
                                               newParameterizedType(List.class, newParameterizedType(Map.class, String.class, Book.class)),
                                               jsonArray);
    assertEquals(newArrayList(ImmutableMap.of("1", createJavaScriptBook()), ImmutableMap.of("1", createJunitBook(), "2", createCSharpBook())),
                 list);
}