int deployableHashCode() {
        List<DeploymentSpec.DeclaredZone> zones = zones().stream().filter(zone -> zone.concerns(prod)).toList();
        Object[] toHash = new Object[zones.size() + 8];
        int i = 0;
        toHash[i++] = name;
        toHash[i++] = endpoints;
        toHash[i++] = zoneEndpoints;
        toHash[i++] = tags;
        toHash[i++] = bcp;
        toHash[i++] = cloudAccounts;
        toHash[i++] = athenzService;
        for (DeploymentSpec.DeclaredZone zone : zones)
            toHash[i++] = Objects.hash(zone, zone.athenzService(), zone.cloudAccounts(), zone.testerNodes());

        return Arrays.hashCode(toHash);
    }
The zone endpoints in the given zone, possibly default values.
config-model-api/src/main/java/com/yahoo/config/application/api/DeploymentInstanceSpec.java