public static BlueprintConfigurations create(Map<String, String> properties, Map<String, Map<String, String>> attributes) {
      BlueprintConfigurations config = new BlueprintConfigurations();
      config.setProperties(properties);
      if (attributes != null) {
        // transform map to property name -> attribute name -> value format
        Map<String, Map<String, String>> transformedAttributes = ConfigurableHelper.transformAttributesMap(attributes);
        ObjectMapper mapper = new ObjectMapper();
        config.setPropertyAttributes(
          new HashMap<>(transformValues(transformedAttributes, attr -> ValueAttributesInfo.fromMap(attr, Optional.of(mapper)))));
      }
      return config;
    }
@param properties properties in <i>name -> value</i> format
@param attributes attributes in <i>attribute name -> property name -> value</i> format
ambari-server/src/main/java/org/apache/ambari/server/api/services/stackadvisor/recommendations/RecommendationResponse.java