class KerberosPrincipalDescriptor extends AbstractKerberosDescriptor {

  @Override
  public Map<String, Object> toMap() {
    Map<String, Object> map = new TreeMap<>();

    map.put(KEY_VALUE, getValue());
    map.put(KEY_TYPE, KerberosPrincipalType.translate(getType()));
    map.put(KEY_CONFIGURATION, getConfiguration());
    map.put(KEY_LOCAL_USERNAME, getLocalUsername());

    return map;
  }

  public  KerberosPrincipalDescriptor(String principal, KerberosPrincipalType type, String configuration, String localUsername);
  public  KerberosPrincipalDescriptor(Map<?, ?> data);

}