@Override
			public String resolvePlaceholder(String placeholderName) {
				int colon = placeholderName.indexOf(':');
				String optionName = colon >= 0 ? placeholderName.substring(0, colon) : placeholderName;
				if (optionName.indexOf('.') == -1) {
					ModuleOption option = new ModuleOption(optionName, "unknown").withType(String.class);
					if (colon > 0) {
						String defaultValue = placeholderName.substring(colon + 1);
						option.withDefaultValue(defaultValue.replaceAll(DELIMITERS_RECOVERY_REGEX,
								DELIMITERS_RECOVERY_REPLACEMENT));
					}
					result.add(option);
				}
				return ALTERNATE_PLACEHOLDER_PREFIX + placeholderName + ALTERNATE_PLACEHOLDER_SUFFIX;
			}
Used as a replacement for "}", so that we can show that the default is a placeholder, but still avoid infinite
recursion.
spring-xd-module/src/main/java/org/springframework/xd/module/options/DefaultModuleOptionsMetadataCollector.java