private void mergeConfigurations(
      StackModule parent, Map<String,StackModule> allStacks, Map<String, ServiceModule> commonServices, Map<String, ExtensionModule> extensions)
      throws AmbariException {
    stackInfo.getProperties().clear();
    stackInfo.setAllConfigAttributes(new HashMap<>());

    Collection<ConfigurationModule> mergedModules = mergeChildModules(
        allStacks, commonServices, extensions, configurationModules, parent.configurationModules);
    for (ConfigurationModule module : mergedModules) {
      if(!module.isDeleted()){
        configurationModules.put(module.getId(), module);
        stackInfo.getProperties().addAll(module.getModuleInfo().getProperties());
        stackInfo.setConfigTypeAttributes(module.getConfigType(), module.getModuleInfo().getAttributes());
      }
    }
  }
Merge configurations with the parent configurations.

@param parent  parent stack module
@param allStacks      all stacks in stack definition
@param commonServices all common services specified in the stack definition
ambari-server/src/main/java/org/apache/ambari/server/stack/StackModule.java