### Question:
DefaultLightblueDataResponse extends AbstractLightblueResponse implements LightblueDataResponse { @Override public ResultMetadata[] getResultMetadata() throws LightblueParseException { JsonNode node=getJson().get("resultMetadata"); if(node instanceof ArrayNode) { try { return getMapper().readValue(node.traverse(),ResultMetadata[].class); } catch (IOException e) { throw new LightblueParseException("Error parsing lightblue response:"+getText()+"\n",e); } } else { return null; } } DefaultLightblueDataResponse(JsonNode responseNode, Map<String, List<String>> headers);  DefaultLightblueDataResponse(JsonNode responseNode, ObjectMapper mapper);  DefaultLightblueDataResponse(JsonNode responseNode, Map<String, List<String>> headers, ObjectMapper mapper);  DefaultLightblueDataResponse(String responseText);  DefaultLightblueDataResponse(String responseText, Map<String, List<String>> headers);  DefaultLightblueDataResponse(String responseText, Map<String, List<String>> headers, ObjectMapper mapper); @Override int parseModifiedCount(); @Override int parseMatchCount(); @Override ResultMetadata[] getResultMetadata(); @Override JsonNode getProcessed(); @Override @SuppressWarnings("unchecked") T parseProcessed(final Class<T> type);  }### Answer:
@Test public void testResultMetadata() throws Exception { DefaultLightblueDataResponse response = new DefaultLightblueDataResponse("{\"matchCount\": 1, \"modifiedCount\": 0, \"processed\": [{\"_id\": \"idhash\", \"field\":\"value\"}], \"resultMetadata\":[{\"documentVersion\":null},{\"documentVersion\":\"123:345\"}], \"status\": \"COMPLETE\"}"); ResultMetadata[] md = response.getResultMetadata(); Assert.assertNotNull(md); Assert.assertEquals(2, md.length); Assert.assertEquals(null,md[0].getDocumentVersion()); Assert.assertEquals("123:345",md[1].getDocumentVersion()); }