private Properties getResolvedModuleOptions(Map<String, String> metadataMap) {
		Map<String, String> optionsMap = new HashMap<String, String>();
		for (Map.Entry<String, String> entry : metadataMap.entrySet()) {
			String propertyKey = entry.getKey();
			String propertyValue = entry.getValue();
			if (!propertyKey.startsWith(XD_MODULE_PROPERTIES_PREFIX)
					&& !StringUtils.isEmpty(propertyValue)) {
				if (propertyValue.startsWith(PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_PREFIX) &&
						propertyValue.endsWith(PlaceholderConfigurerSupport.DEFAULT_PLACEHOLDER_SUFFIX)) {
					// For a property ${module.property}, we just extract "module.property" and
					// check if the metadataMap has a value for it.
					String placeholderKey = propertyValue.substring(2, propertyValue.length() - 1);
					if (metadataMap.get(placeholderKey) != null) {
						propertyValue = metadataMap.get(placeholderKey);
					}
				}
				optionsMap.put(propertyKey, propertyValue);
			}
		}
		return MapUtils.toProperties(optionsMap);
	}
Resolve the module option value using the module metadata.

@param metadataMap the values map from ZK module metadata
@return the resolved option values
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/module/store/ZooKeeperModuleMetadataRepository.java