public void assemble(ModuleAssembly module) throws AssemblyException {
    module.services(MemoryEntityStoreService.class);
    new JettyServiceAssembler().assemble(module);

    SecureJettyConfiguration config =
        module.forMixin(SecureJettyConfiguration.class).declareDefaults();
    config.hostName().set("127.0.0.1");
    config.port().set(HTTP_PORT);
    config.virtualHosts().set(HOST1 + "," + HOST2);

    addServlets(serve("/hello").with(HelloWorldServletService.class)).to(module);
  }
  @Override
  public void assemble(ModuleAssembly module) throws AssemblyException {
    ModuleAssembly configModule = module;
    new EntityTestAssembler().assemble(configModule);
    // START SNIPPET: assemblyssl
    new SecureJettyServiceAssembler().withConfig(configModule, Visibility.layer).assemble(module);
    // END SNIPPET: assemblyssl

    // START SNIPPET: configssl
    SecureJettyConfiguration config =
        configModule.forMixin(SecureJettyConfiguration.class).declareDefaults();
    config.hostName().set("127.0.0.1");
    config.port().set(HTTPS_PORT);
    config.keystorePath().set(SERVER_KEYSTORE_PATH);
    config.keystoreType().set("JCEKS");
    config.keystorePassword().set(KS_PASSWORD);
    // END SNIPPET: configssl

    // START SNIPPET: assemblyssl
    addServlets(serve("/hello").with(HelloWorldServletService.class)).to(module);
    addFilters(filter("/*").through(UnitOfWorkFilterService.class).on(REQUEST)).to(module);
    // END SNIPPET: assemblyssl
  }