private boolean includeConfiguration(String configType, String propertyName,
                                       UpdateConfigurationPolicy updateConfigurationPolicy,
                                       Map<String, Map<String, String>> existingProperties,
                                       Map<String, Set<String>> kerberosIdentityProperties) {

    // Determine if the property represents a Kerberos identity-related property
    boolean isIdentity;
    if (kerberosIdentityProperties == null) {
      isIdentity = false;
    } else {
      Set<String> propertyNames = kerberosIdentityProperties.get(configType);
      isIdentity = !CollectionUtils.isEmpty(propertyNames) && propertyNames.contains(propertyName);
    }

    if (isIdentity) {
      return updateConfigurationPolicy.applyIdentityChanges();
    }

    // Determine if the property is a new property
    boolean isNew;
    if (existingProperties == null) {
      isNew = true;
    } else {
      Map<String, String> propertyNames = existingProperties.get(configType);
      isNew = (propertyNames == null) || !propertyNames.containsKey(propertyName);
    }

    if (isNew) {
      return updateConfigurationPolicy.applyAdditions();
    }

    // All other properties...
    return updateConfigurationPolicy.applyOtherChanges();
  }
Determine of the configuration should be included in the set of configurations to update.

@param configType
@param propertyName
@param updateConfigurationPolicy
@param existingProperties
@param kerberosIdentityProperties
@return
ambari-server/src/main/java/org/apache/ambari/server/serveraction/kerberos/AbstractPrepareKerberosServerAction.java