private void checkInit() throws SystemException {
    if (!initialized) {
      synchronized (this) {
        if (!initialized) {
          initProviderMaps();
          initialized = true;
        }
      }
    }
  }
Post process property value. If value has one ore some substrings
started with "${" and ended with "}" these substrings will replace
with properties from current propertiesMap. It is doing recursively.

@param key        - properties name
@param value      - properties value
@param properties - map with properties
ambari-server/src/main/java/org/apache/ambari/server/controller/internal/AbstractProviderModule.java