@Override
	public ModuleMetadata findOne(ModuleMetadata.Id id) {
		Assert.notNull(id, "id is required");

		String moduleDeploymentPath = moduleDeploymentPath(id);
		String metadataPath = Paths.build(moduleDeploymentPath, Paths.METADATA);
		ModuleMetadata metadata = null;

		try {
			byte[] data = zkConnection.getClient().getData().forPath(metadataPath);
			if (data != null) {
				Map<String, String> metadataMap = ZooKeeperUtils.bytesToMap(data);
				new ModuleDeploymentsPath(moduleDeploymentPath);
				ModuleType moduleType = id.getModuleType();

				DeploymentUnitStatus status = moduleType == ModuleType.job
						? jobRepository.getDeploymentStatus(id.getUnitName())
						: streamRepository.getDeploymentStatus(id.getUnitName());

				metadata = new ModuleMetadata(id,
						getResolvedModuleOptions(metadataMap),
						getDeploymentProperties(moduleDeploymentPath),
						status.getState());
			}
		}
		catch (Exception e) {
			// NoNodeException - this node does not exist, will return null
			ZooKeeperUtils.wrapAndThrowIgnoring(e, NoNodeException.class);
		}
		return metadata;
	}
{@inheritDoc}
<p>
Find the module metadata for the modules that are deployed into the
given container and module metadata id.

@param id unique id for module deployment

@return {@link ModuleMetadata} of the module.
spring-xd-dirt/src/main/java/org/springframework/xd/dirt/module/store/ZooKeeperModuleMetadataRepository.java