@Override
    public void validate(ChangeContext context) {
        for (String currentClusterId : context.previousModel().getContentClusters().keySet()) {
            ContentCluster nextCluster = context.model().getContentClusters().get(currentClusterId);
            if (nextCluster == null) {
                context.invalid(ValidationId.contentClusterRemoval,
                                "Content cluster '" + currentClusterId + "' is removed. " +
                                "This will cause loss of all data in this cluster");

                // If we allow the removal, we must restart all containers to ensure mbus is OK.
                for (ApplicationContainerCluster cluster : context.model().getContainerClusters().values()) {
                    context.require(new VespaRestartAction(cluster.id(),
                                                           "Content cluster '" + currentClusterId + "' has been removed",
                                                           cluster.getContainers().stream().map(ApplicationContainer::getServiceInfo).toList()));
                }
            }
        }
    }
Checks that this does not remove a content cluster (or changes its id)
as that means losing all data of that cluster.

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