Mono<Void> stopExtension() {
        if (!started) {
            return Mono.empty();
        }
        return taskScheduler.schedule(Mono.defer(this::stop)
                .doFinally(signalType -> {
                    running = false;
                    started = false;
                    LOGGER.info("The extension ({}) of the plugin ({}) has been stopped",
                            getClass().getName(),
                            plugin.descriptor()
                                    .getId());
                }));
    }
The method should be protected, but it is public for testing purposes.
turms-server-common/src/main/java/im/turms/server/common/infra/plugin/TurmsExtension.java