@Override
	protected Properties createProperties() throws IOException {
		Assert.isTrue(propertiesFileString == null || propertiesString == null, "Only one of propertiesString and " +
				"propertiesLocation should be set.");
		Properties properties = new Properties();
		properties.putAll(parsePropertiesString(propertiesString));
		Properties propertiesFromFile = loadPropertiesFile();
		if (!propertiesFromFile.isEmpty()) {
			properties.putAll(propertiesFromFile);
		}
		if (StringUtils.hasText(defaultPropertiesString)) {
			Map<String, String> defaultProperties = parsePropertiesString(defaultPropertiesString);
			for (Map.Entry<String, String> entry : defaultProperties.entrySet()) {
				if (properties.getProperty(entry.getKey()) == null) {
					properties.put(entry.getKey(), entry.getValue());
				}
			}
		}
		return properties;
	}
{@link org.springframework.beans.factory.config.PropertiesFactoryBean} that
reads comma separated (ex: key1=value1,key2=value2) values and make them as properties.

@author David Turanski
@author Ilayaperumal Gopinathan
extensions/spring-xd-extension-mail/src/main/java/org/springframework/xd/mail/JavaMailPropertiesFactoryBean.java