private Module createSimpleModule(ModuleDescriptor moduleDescriptor, ModuleOptions moduleOptions,
			ModuleDeploymentProperties deploymentProperties) {
		if (log.isInfoEnabled()) {
			log.info("creating simple module " + moduleDescriptor);
		}
		SimpleModuleDefinition definition = (SimpleModuleDefinition) moduleDescriptor.getModuleDefinition();
		ClassLoader moduleClassLoader = ModuleUtils.createModuleRuntimeClassLoader(definition, moduleOptions, this.parentClassLoader);

		Class<? extends SimpleModule> moduleClass = determineModuleClass((SimpleModuleDefinition) moduleDescriptor.getModuleDefinition(),
				moduleOptions);
		Assert.notNull(moduleClass,
				String.format("Required module artifacts are either missing or invalid. Unable to determine module type for module definition: '%s:%s'.",
						moduleDescriptor.getType(), moduleDescriptor.getModuleName()));
		return SimpleModuleCreator
				.createModule(moduleDescriptor, deploymentProperties, moduleClassLoader, moduleOptions, moduleClass);
	}
Create a simple module based on the provided {@link ModuleDescriptor}, {@link ModuleOptions}, and {@link ModuleDeploymentProperties}.

@param moduleDescriptor descriptor for the composed module
@param moduleOptions module options for the composed module
@param deploymentProperties deployment related properties for the composed module
@return new simple module instance
spring-xd-module/src/main/java/org/springframework/xd/module/core/ModuleFactory.java