public static <T extends SimpleModule> T createModule(ModuleDescriptor descriptor,
				ModuleDeploymentProperties deploymentProperties, ClassLoader classLoader, ModuleOptions moduleOptions,
				Class<T> requiredType) {
			Constructor<T> constructor = null;
			try {
				constructor = requiredType
						.getConstructor(ModuleDescriptor.class, ModuleDeploymentProperties.class, ClassLoader.class,
								ModuleOptions.class);
			}
			catch (NoSuchMethodException e) {
				throw new RuntimeException(e);
			}
			try {
				return constructor.newInstance(descriptor, deploymentProperties, classLoader, moduleOptions);
			}
			catch (InstantiationException e) {
				throw new RuntimeException(e);
			}
			catch (IllegalAccessException e) {
				throw new RuntimeException(e);
			}
			catch (InvocationTargetException e) {
				throw new RuntimeException(e);
			}
		}
Takes a request and returns an instance of {@link ModuleOptions} bound with the request parameters. Binding is
assumed to not fail, as it has already been validated on the admin side.

@param descriptor module descriptor for which to bind request parameters
@return module options bound with request parameters
spring-xd-module/src/main/java/org/springframework/xd/module/core/ModuleFactory.java