@Override
    public void validate(CruiseConfig cruiseConfig) {
        String newServerId = cruiseConfig.server().getServerId();
        if (initialIdHolder.compareAndSet(null, newServerId)) {
            return;
        }

        String initialId = initialIdHolder.get();
        if (!Objects.equals(initialId, newServerId) && env.enforceServerImmutability()) {
            throw new RuntimeException(String.format("The value of 'serverId' uniquely identifies a Go server instance. This field cannot be modified (attempting to change from [%s] to [%s]).", initialId, newServerId));
        }
    }
@Test
    public void shouldBeValidWhenServerIdIsNullAndChanged() {
        validator.validate(cruiseConfig);
        validator.validate(cruiseConfig);
    }