private EnumerablePropertySource<?> wrap(final EnumerablePropertySource<?>
			moduleOptionsPropertySource) {
		return new EnumerablePropertySource<Object>(moduleOptionsPropertySource.getName
				(),
				moduleOptionsPropertySource) {

			@Override public String[] getPropertyNames() {
				return moduleOptionsPropertySource.getPropertyNames();
			}

			@Override
			public Object getProperty(String name) {
				// Resolve thru the module first
				Object result = moduleOptionsPropertySource.getProperty(name);
				if (result != null) {
					return result;
				}
				// If module could not resolve, but it is *known* to be
				// a valid module option name, do NOT delegate to the env
				// as it could end up in false positives
				if (moduleOptionsPropertySource.containsProperty(name)) {
					return null;
				}
				else {
					return parent == null ? null : parent.getProperty(name);
				}
			}
		};
	}
Wrap the module options property source so that it can be the only one living in the environment. This will
delegate to the parent environment ONLY IF the key is not a known module option name.
spring-xd-module/src/main/java/org/springframework/xd/module/core/ModuleEnvironment.java