private void processIdentityConfigurations(Map<String, Map<String, String>> identityConfigurations,
                                             Map<String, Map<String, String>> kerberosConfigurations,
                                             Map<String, Map<String, String>> configurations,
                                             Map<String, Set<String>> propertiesToIgnore)
    throws AmbariException {
    if (identityConfigurations != null) {
      for (Map.Entry<String, Map<String, String>> identitiyEntry : identityConfigurations.entrySet()) {
        String configType = identitiyEntry.getKey();
        Map<String, String> properties = identitiyEntry.getValue();

        mergeConfigurations(kerberosConfigurations, configType, identitiyEntry.getValue(), configurations);

        if ((properties != null) && !properties.isEmpty()) {
          Set<String> propertyNames = propertiesToIgnore.get(configType);
          if (propertyNames == null) {
            propertyNames = new HashSet<>();
            propertiesToIgnore.put(configType, propertyNames);
          }
          propertyNames.addAll(properties.keySet());
        }
      }
    }

  }
Processes the configuration values related to a particular Kerberos descriptor identity definition
by:
<ol>
<li>
merging the declared properties and their values from <code>identityConfigurations</code> with the set of
Kerberos-related configuration updates in <code>kerberosConfigurations</code>, using the existing cluster
configurations in <code>configurations</code>
</li>
<li>
ensuring that these properties are not overwritten by recommendations by the stack advisor later
in the workflow by adding them to the <code>propertiesToIgnore</code> map
</li>
</ol>

@param identityConfigurations a map of config-types to property name/value pairs to process
@param kerberosConfigurations a map of config-types to property name/value pairs to be applied
                              as configuration updates
@param configurations         a map of config-types to property name/value pairs representing
                              the existing configurations for the cluster
@param propertiesToIgnore     a map of config-types to property names to be ignored while
                              processing stack advisor recommendations
@throws AmbariException
ambari-server/src/main/java/org/apache/ambari/server/controller/KerberosHelperImpl.java