@Override
	public String[] getPropertyNames() {
		Set<String> result = new HashSet<String>(delegates.size() * 3);
		for (String prefix : delegates.keySet()) {
			String[] sub = delegates.get(prefix).getPropertyNames();
			for (String value : sub) {
				result.add(prefix + CompositeModule.OPTION_SEPARATOR + value);
			}
		}
		return result.toArray(new String[result.size()]);
	}
The composed module itself never needs to activate profiles. It's the submodules that should. The keys
returned here are special constructs that are decoded by {@link PrefixNarrowingModuleOptions}.
spring-xd-module/src/main/java/org/springframework/xd/module/options/HierarchicalCompositeModuleOptionsMetadata.java