public static Map<Integer, List<Double>> serviceAttackES(Map<Server, Set<Application>> connections, int runs, int deadlyServicesAmount) {
        Map<Integer, List<Double>> result = new HashMap<>();
        double robustnessMax = getAliveServers(connections).size() * Simulator.getInstance().getApplicationPoolSize();
        for (int i = 0; i < runs; i++) {
            if (robustnessMax > 0) {
                List<Double> extinctionSequence = new ArrayList<>();
                Map<Server, Set<Application>> connectionsCopy = new LinkedHashMap<>(connections);
                Set<Server> serversCopy = shuffleSet(getAliveServers(connections));
                Set<Application> applicationsCopy = new LinkedHashSet<>(getAliveApplications(connections));
                Set<Service> deadlyServices = new LinkedHashSet<>(new ArrayList<>(shuffleSet(Simulator.getInstance().getServicePool())).subList(0, deadlyServicesAmount));
                double robustness = 0;
                for (Server server : shuffleSet(connections.keySet())) {
                    Iterator<Service> serviceIter = deadlyServices.iterator();
                    boolean infected = false;
                    while (serviceIter.hasNext() && !infected) {
                        if (server.getServices().contains(serviceIter.next())) {
                            robustness += applicationsCopy.size();
                            extinctionSequence.add((double) applicationsCopy.size());
                            applicationsCopy.removeAll(killServer(connectionsCopy, serversCopy, server));
                            infected = true;
                        }
                    }
                }
                //first index: robustnessMultiRun
                extinctionSequence.add(0, robustness / robustnessMax);
                //last index: 0.0
                extinctionSequence.add(0.0);
                result.put(i, extinctionSequence);
            } else {
                result.put(i, new ArrayList<>(Arrays.asList(0.0, 0.0)));
            }
        }
        return result;
    }