### Question:
DescriptorParametersCompatabilityValidator extends CompatabilityParametersValidator<DeploymentDescriptor> { @Override public DeploymentDescriptor validate() { DeploymentDescriptor castedDescriptor = this.descriptor; validate(castedDescriptor); return castedDescriptor; } DescriptorParametersCompatabilityValidator(DeploymentDescriptor descriptor, UserMessageLogger userMessageLogger); @Override DeploymentDescriptor validate();  }### Answer:
@Test void testDescriptorValidator() { Module module = buildModule(); DeploymentDescriptor descriptor = buildDeploymentDescriptor(module); prepareModuleParametersCompatabilityValidator(module); DescriptorParametersCompatabilityValidator descriptorValidator = new DescriptorParametersCompatabilityValidator(descriptor, userMessageLogger) { @Override protected ModuleParametersCompatabilityValidator getModuleParametersCompatabilityValidator(Module module) { return moduleParametersCompatabilityValidator; } }; DeploymentDescriptor validatedDescriptor = descriptorValidator.validate(); assertModules(module, validatedDescriptor.getModules()); }