public boolean doRestart( Service service, RollingRestartStrategy strategy, Map<String, List<Instance>> toRestart) { try { long batchSize = strategy.getBatchSize(); final Map<String, List<Instance>> restartBatch = new HashMap<>(); long i = 0; Iterator<Map.Entry<String, List<Instance>>> it = toRestart.entrySet().iterator(); while (it.hasNext() && i < batchSize) { Map.Entry<String, List<Instance>> instances = it.next(); String deploymentUnitUUID = instances.getKey(); restartBatch.put(deploymentUnitUUID, instances.getValue()); it.remove(); i++; } restartDeploymentUnits(service, restartBatch); if (toRestart.isEmpty()) { return true; } return false; } catch (TimeoutException e) { return false; } }