@Override
	public ModuleDefinition findDefinition(String name, ModuleType type) {
		String path = Paths.build(Paths.MODULES, type.toString(), name);
		try {
			byte[] data = zooKeeperConnection.getClient().getData().forPath(path);
			if (data.length == 0) {
				return null;
			}
			ModuleDefinition deserializedDefinition = this.objectMapper.readValue(new String(data, "UTF-8"),
					ModuleDefinition.class);
			return relookup(deserializedDefinition);
		}
		catch (Exception e) {
			// NoNodeException will return null
			ZooKeeperUtils.wrapAndThrowIgnoring(e, KeeperException.NoNodeException.class);
		}
		// non-composed module
		return null;
	}
A reference to the main module registry (which also typically contains this registry as a delegate),
used to re-hydrate {@link org.springframework.xd.module.SimpleModuleDefinition}s with locations that
make sense on this runtime(admin or container).
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/module/store/ZooKeeperComposedModuleDefinitionRegistry.java