class HttpProtocolServer implements ProtocolServer {

    @Override
    public CompletableFuture<Void> destroy(ExposedThing thing) {
        // if the server is not running, nothing needs to be done
        if (!started) {
            return completedFuture(null);
        }

        log.info("HttpServer on '{}' port '{}' stop exposing '{}' at http://{}:{}/{}", bindHost, actualPort, thing.getId(),
                bindHost, actualPort, thing.getId());
        things.remove(thing.getId());

        return completedFuture(null);
    }

    public  HttpProtocolServer(Config config);
    @SuppressWarnings({ "java:S107" })  HttpProtocolServer(String bindHost,
                       int bindPort,
                       List<String> addresses,
                       Service server,
                       Map<String, ExposedThing> things,
                       Map<String, Object> security,
                       String securityScheme,
                       boolean started,
                       int actualPort,
                       List<String> actualAddresses);

}