### Question:
MetadataBatchUpdateParams { public static Builder builder() { return builder(null); } MetadataBatchUpdateParams(
            @JsonProperty("operations") Map<MetadataKey, MetadataUpdateParams> operations); Map<MetadataKey, MetadataUpdateParams> getOperations(); @Override int hashCode(); @Override boolean equals(Object obj); @Override String toString(); Builder toBuilder(); static Builder builder(); static Builder builder(MetadataBatchUpdateParams origin);  }### Answer:
@Test public void testSerializedToJsonAndBack() throws Exception { MetadataBatchUpdateParams origin = MetadataBatchUpdateParams.builder(). update(MetadataTestData.randomUpdateParams()). update(MetadataTestData.randomUpdateParams()). update(MetadataTestData.randomUpdateParams()). delete(MetadataTestData.randomKey()). update(MetadataTestData.randomUpdateParams()). delete(MetadataTestData.randomKey()). delete(MetadataTestData.randomKey()). build(); String json = JsonMapper.toJson(origin); Assert.assertNotNull(json); MetadataBatchUpdateParams deserialized = JsonMapper.jsonToObject(json, MetadataBatchUpdateParams.class); Assert.assertNotNull(deserialized); Assert.assertEquals(origin, deserialized); }
@Test(expected=Exception.class) public void testFailsOnIllegalArguments3() throws Exception { MetadataBatchUpdateParams.builder().update(null); }
@Test(expected=Exception.class) public void testFailsOnIllegalArguments4() throws Exception { MetadataBatchUpdateParams.builder().delete(null); }