KerberosPrincipalDescriptor extends AbstractKerberosDescriptor { public void update(KerberosPrincipalDescriptor updates) { if (updates != null) { String updatedValue; updatedValue = updates.getValue(); if (updatedValue != null) { setValue(updatedValue); } KerberosPrincipalType updatedType = updates.getType(); if (updatedType != null) { setType(updatedType); } updatedValue = updates.getConfiguration(); if (updatedValue != null) { setConfiguration(updatedValue); } updatedValue = updates.getLocalUsername(); if (updatedValue != null) { setLocalUsername(updatedValue); } } } KerberosPrincipalDescriptor(String principal, KerberosPrincipalType type, String configuration, String localUsername);  KerberosPrincipalDescriptor(Map<?, ?> data); String getValue(); void setValue(String value); KerberosPrincipalType getType(); void setType(KerberosPrincipalType type); String getConfiguration(); void setConfiguration(String configuration); String getLocalUsername(); void setLocalUsername(String localUsername); void update(KerberosPrincipalDescriptor updates); @Override Map<String, Object> toMap(); @Override int hashCode(); @Override boolean equals(Object object);  }
@Test public void testUpdate() { KerberosPrincipalDescriptor principalDescriptor = createFromJSON(); KerberosPrincipalDescriptor updatedPrincipalDescriptor = createFromMap(); Assert.assertNotNull(principalDescriptor); Assert.assertNotNull(updatedPrincipalDescriptor); principalDescriptor.update(updatedPrincipalDescriptor); validateUpdatedData(principalDescriptor); }