public Server start() {
        final Server oldServer = server.get();
        if (!isStopped(oldServer)) {
            assert oldServer != null;
            return oldServer;
        }

        final ServerBuilder sb = Server.builder();
        try {
            configure(sb);
        } catch (Exception e) {
            throw new IllegalStateException("failed to configure a Server", e);
        }

        final Server server = sb.build();
        server.start().join();

        this.server.set(server);
        return server;
    }
Starts the {@link Server} configured by {@link #configure(ServerBuilder)}.
If the {@link Server} has been started up already, the existing {@link Server} is returned.
Note that this operation blocks until the {@link Server} finished the start-up.

@return the started {@link Server}
junit5/src/main/java/com/linecorp/armeria/internal/testing/ServerRuleDelegate.java