BatchRes { @Nonnull public List<BatchItem> getObjects() { return objects; } @JsonCreator  BatchRes(
      @JsonProperty(value = "objects", required = true) @Nonnull List<BatchItem> objects
  ); @Nonnull List<BatchItem> getObjects();  }
@Test public void parse01() throws IOException, ParseException, URISyntaxException { final BatchRes data = SerializeTester.deserialize("batch-res-01.json", BatchRes.class); Assert.assertNotNull(data); Assert.assertEquals(2, data.getObjects().size()); { final BatchItem item = data.getObjects().get(0); Assert.assertNotNull(item); Assert.assertEquals(item.getOid(), "1111111"); Assert.assertEquals(item.getSize(), 123L); Assert.assertNull(item.getError()); Assert.assertEquals(1, item.getLinks().size()); final Link link = item.getLinks().get(LinkType.Download); Assert.assertNotNull(link); Assert.assertEquals(link.getHref(), new URI("https: Assert.assertEquals(link.getHeader(), ImmutableMap.builder() .put("Authorization", "Basic ...") .build() ); Assert.assertEquals(link.getExpiresAt(), StdDateFormat.instance.parse("2015-07-27T21:15:01.000+00:00")); } { final BatchItem item = data.getObjects().get(1); Assert.assertNotNull(item); Assert.assertEquals(item.getOid(), "2222222"); Assert.assertEquals(item.getSize(), 234L); Assert.assertTrue(item.getLinks().isEmpty()); final Error error = item.getError(); Assert.assertNotNull(error); Assert.assertEquals(error.getCode(), 404); Assert.assertEquals(error.getMessage(), "Object does not exist on the server"); } }