code: public void merge(Map<?, ?> properties, Source source) {
      if (properties == null) {
        return;
      }
      // merge the properties
      for (Map.Entry<?, ?> entry : properties.entrySet()) {
        String key = entry.getKey().toString().trim();
        String value = entry.getValue() == null ? null : entry.getValue().toString().trim();
        PropertyKey propertyKey;
        if (PropertyKey.isValid(key)) {
          propertyKey = PropertyKey.fromString(key);
        } else {
          // Add unrecognized properties
          LOG.debug("Property {} from source {} is unrecognized", key, source);
          // Workaround for issue https://alluxio.atlassian.net/browse/ALLUXIO-3108
          // This will register the key as a valid PropertyKey
          // TODO(adit): Do not add properties unrecognized by Ufs extensions when Configuration
          // is made dynamic
          propertyKey = new PropertyKey.Builder(key).setIsBuiltIn(false).build();
        }
        put(propertyKey, value, source);
      }
    }
docs: Merges the current configuration properties with new properties. If a property exists
  both in the new and current configuration, the one from the new configuration wins if
  its priority is higher or equal than the existing one.
  
  @param properties the source {@link Properties} to be merged
  @param source the source of the the properties (e.g., system property, default and etc)