private void mergeAttributes(ConfigurationModule parent) {

    for (Map.Entry<String, Map<String, String>> parentCategoryEntry : parent.info.getAttributes().entrySet()) {
      String category = parentCategoryEntry.getKey();
      Map<String, String> categoryAttributeMap = info.getAttributes().get(category);
      if (categoryAttributeMap == null) {
        categoryAttributeMap = new HashMap<>();
        info.getAttributes().put(category, categoryAttributeMap);
      }
      for (Map.Entry<String, String> parentAttributeEntry : parentCategoryEntry.getValue().entrySet()) {
        String attributeName = parentAttributeEntry.getKey();
        if (! categoryAttributeMap.containsKey(attributeName)) {
          categoryAttributeMap.put(attributeName, parentAttributeEntry.getValue());
        }
      }
    }
  }
Merge configuration attributes with the parent configuration.

@param parent  parent configuration module
ambari-server/src/main/java/org/apache/ambari/server/stack/ConfigurationModule.java