### Question:
KerberosDescriptor extends AbstractKerberosDescriptorContainer { public void update(KerberosDescriptor updates) { if (updates != null) { Map<String, KerberosServiceDescriptor> updatedServiceDescriptors = updates.getServices(); if (updatedServiceDescriptors != null) { for (Map.Entry<String, KerberosServiceDescriptor> entry : updatedServiceDescriptors.entrySet()) { putService(entry.getValue()); } } Map<String, String> updatedProperties = updates.getProperties(); if (updatedProperties != null) { for (Map.Entry<String, String> entry : updatedProperties.entrySet()) { putProperty(entry.getKey(), entry.getValue()); } } } super.update(updates); } KerberosDescriptor();   KerberosDescriptor(Map<?, ?> data); @Override Collection<? extends AbstractKerberosDescriptorContainer> getChildContainers(); @Override AbstractKerberosDescriptorContainer getChildContainer(String name); void setServices(Map<String, KerberosServiceDescriptor> services); Map<String, KerberosServiceDescriptor> getServices(); KerberosServiceDescriptor getService(String name); void putService(KerberosServiceDescriptor service); void setProperties(Map<String, String> properties); Map<String, String> getProperties(); String getProperty(String name); void putProperty(String name, String value); void update(KerberosDescriptor updates); @Override Map<String, Object> toMap(); @Override void setParent(AbstractKerberosDescriptor parent); @Override int hashCode(); @Override boolean equals(Object object); Set<String> getAllAuthToLocalProperties(); Map<String, String> principals();  }### Answer:
@Test public void testUpdate() throws AmbariException { KerberosDescriptor descriptor = createFromJSON(); KerberosDescriptor updatedDescriptor = createFromMap(); Assert.assertNotNull(descriptor); Assert.assertNotNull(updatedDescriptor); descriptor.update(updatedDescriptor); validateUpdatedData(descriptor); }