/**
   * Retrieve detailed information about a particular module.
   *
   * @param type module type
   * @param name module name
   * @return detailed module information
   */
  @RequestMapping(value = "/{type}/{name}", method = RequestMethod.GET)
  @ResponseStatus(HttpStatus.OK)
  public DetailedModuleRegistrationResource info(
      @PathVariable("type") ArtifactType type, @PathVariable("name") String name) {
    Assert.isTrue(type != ArtifactType.library, "Only modules are supported by this endpoint");
    ArtifactRegistration registration = registry.find(name, type);
    if (registration == null) {
      return null;
    }
    DetailedModuleRegistrationResource result =
        new DetailedModuleRegistrationResource(moduleAssembler.toResource(registration));
    Resource resource = moduleResolver.resolve(adapt(registration.getCoordinates()));

    List<ConfigurationMetadataProperty> properties =
        moduleConfigurationMetadataResolver.listProperties(resource);
    for (ConfigurationMetadataProperty property : properties) {
      result.addOption(property);
    }
    return result;
  }