private Map<String, Object> extractProperties(Map<String, Object> requestMap) {
    Map<String, Object> normalizedMap = new HashMap<>(
      requestMap.size());
    boolean has_properties = false;

    for (Entry<String, Object> entry : requestMap.entrySet()) {
      String key = entry.getKey();
      String propCat = PropertyHelper.getPropertyCategory(key);

      if (propCat.equals(ALERT_TARGET_PROPERTIES)) {
        has_properties = true;
        String propKey = PropertyHelper.getPropertyName(key);
        normalizedMap.put(propKey, entry.getValue());
      }
    }

    if (!has_properties) {
      normalizedMap = null;
    }

    return normalizedMap;
  }
Looks through the flat list of propery keys in the supplied map and builds
a JSON string of key:value pairs for the {@link #ALERT_TARGET_PROPERTIES}
key.

@param requestMap
         the map of flattened properties (not {@code null}).
@return the JSON representing the key/value pairs of all properties, or
        {@code null} if none.
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AlertTargetResourceProvider.java