code: public static String getStringProperty(String name, String alternativeName, Map<String, String> map,
          String defaultValue) {
          return getStringProperty(name, map, getStringProperty(alternativeName, map, defaultValue));
      }
docs: Gets a property from system, environment or an external map. This method supports also passing an alternative
  name.
  The reason for supporting multiple names, is to support multiple keys for the same property (e.g. adding a new and
  deprecating the old).
  The lookup order is system[name] > env[name] > map[name] > system[alternativeName] > env[alternativeName] >
  map[alternativeName] > defaultValue.
  
  @param name
  The name of the property.
  @param alternativeName
  An alternate name to use.
  @param map
  The external map.
  @param defaultValue
  The value that should be used if property is not found.