@Override
    public List<Extension> getAdditionalExtensions() {
        RaftClusterInstance clusterInstance = new RaftClusterInstance(clusterConfig, isCombined);
        return Arrays.asList(
                (BeforeTestExecutionCallback) context -> {
                    clusterInstance.format();
                    if (clusterConfig.isAutoStart()) {
                        clusterInstance.start();
                    }
                },
                (AfterTestExecutionCallback) context -> clusterInstance.stop(),
                new ClusterInstanceParameterResolver(clusterInstance)
        );
    }
Wraps a {@link KafkaClusterTestKit} inside lifecycle methods for a test invocation. Each instance of this
class is provided with a configuration for the cluster.

This context also provides parameter resolvers for:

<ul>
    <li>ClusterConfig (the same instance passed to the constructor)</li>
    <li>ClusterInstance (includes methods to expose underlying SocketServer-s)</li>
</ul>
core/src/test/java/kafka/test/junit/RaftClusterInvocationContext.java