@Override
    public void validate(ChangeContext context) {
        var previousClustersWithLocalLLM = findClustersWithLocalLLMs(context.previousModel());
        var nextClustersWithLocalLLM = findClustersWithLocalLLMs(context.model());

        // Only restart services if we use a local LLM in both the next and previous generation
        for (var clusterId : intersect(previousClustersWithLocalLLM, nextClustersWithLocalLLM)) {
            String message = "Need to restart services in %s due to use of local LLM".formatted(clusterId);
            context.require(new VespaRestartAction(clusterId, message,
                                                   context.model().getContainerClusters().get(clusterId.value()).getContainers()
                                                          .stream().map(AbstractService::getServiceInfo).toList()));
            log.log(INFO, message);
        }
    }
If using local LLMs, this validator will make sure that restartOnDeploy is set for
configs for this cluster.

@author lesters
config-model/src/main/java/com/yahoo/vespa/model/application/validation/change/RestartOnDeployForLocalLLMValidator.java