Source:
<code>private void afterVMsRefreshTreatment() { Collection<Guid> movedToDownVms = new ArrayList<>(); for (VmAnalyzer vmUpdater : vmAnalyzers) { if (vmUpdater.isRerun()) { log.error("Rerun VM '{}'. Called from VDS '{}'", vmUpdater.getDbVm().getId(), vdsManager.getVdsName()); ResourceManager.getInstance().RerunFailedCommand(vmUpdater.getDbVm().getId(), vdsManager.getVdsId()); } if (vmUpdater.isSuccededToRun()) { vdsManager.succeededToRunVm(vmUpdater.getDbVm().getId()); getVdsEventListener().updateSlaPolicies( Arrays.asList(new Guid[] { vmUpdater.getDbVm().getId() }), vdsManager.getVdsId()); } if (vmUpdater.isAutoVmToRun() && !vmUpdater.isRerun()) { autoVmsToRun.add(vmUpdater.getDbVm().getId()); } if (vmUpdater.isClientIpChanged()) { getVdsEventListener().processOnClientIpChange(vmUpdater.getVdsmVm().getVmDynamic().getId()); } if (vmUpdater.isPoweringUp()) { getVdsEventListener().processOnVmPoweringUp(vmUpdater.getVdsmVm().getVmDynamic().getId()); } if (vmUpdater.isMovedToDown()) { movedToDownVms.add(vmUpdater.getDbVm().getId()); } if (vmUpdater.isRemoveFromAsync()) { ResourceManager.getInstance().RemoveAsyncRunningVm(vmUpdater.getDbVm().getId()); } if (vmUpdater.isExternalVm()) { externalVms.add(new Pair<>(vmUpdater.getDbVm(), vmUpdater.getVdsmVm())); } if (!vmUpdater.getUpdatedLuns().isEmpty()) { <START> vmUpdater.getUpdatedLuns().addAll(vmLunDisksToSave); <END> vmLunDisksToSave = vmUpdater.getUpdatedLuns(); } } getVdsEventListener().processOnVmStop(movedToDownVms); getVdsEventListener().runFailedAutoStartVMs(autoVmsToRun); processExternallyManagedVms(); processVmsWithDevicesChange(); saveVmsToDb(); }</code><technical_language>a weird changing list vmUpdater it.. local list new list add it</technical_language>

Target:
private void afterVMsRefreshTreatment() { Collection<Guid> movedToDownVms = new ArrayList<>(); for (VmAnalyzer vmUpdater : vmAnalyzers) { if (vmUpdater.isRerun()) { log.error("Rerun VM '{}'. Called from VDS '{}'", vmUpdater.getDbVm().getId(), vdsManager.getVdsName()); ResourceManager.getInstance().RerunFailedCommand(vmUpdater.getDbVm().getId(), vdsManager.getVdsId()); } if (vmUpdater.isSuccededToRun()) { vdsManager.succeededToRunVm(vmUpdater.getDbVm().getId()); getVdsEventListener().updateSlaPolicies( Arrays.asList(new Guid[] { vmUpdater.getDbVm().getId() }), vdsManager.getVdsId()); } if (vmUpdater.isAutoVmToRun() && !vmUpdater.isRerun()) { autoVmsToRun.add(vmUpdater.getDbVm().getId()); } if (vmUpdater.isClientIpChanged()) { getVdsEventListener().processOnClientIpChange(vmUpdater.getVdsmVm().getVmDynamic().getId()); } if (vmUpdater.isPoweringUp()) { getVdsEventListener().processOnVmPoweringUp(vmUpdater.getVdsmVm().getVmDynamic().getId()); } if (vmUpdater.isMovedToDown()) { movedToDownVms.add(vmUpdater.getDbVm().getId()); } if (vmUpdater.isRemoveFromAsync()) { ResourceManager.getInstance().RemoveAsyncRunningVm(vmUpdater.getDbVm().getId()); } if (vmUpdater.isExternalVm()) { externalVms.add(new Pair<>(vmUpdater.getDbVm(), vmUpdater.getVdsmVm())); } if (!vmUpdater.getUpdatedLuns().isEmpty()) { addLunsFromAnalyzer(vmUpdater); } } getVdsEventListener().processOnVmStop(movedToDownVms); getVdsEventListener().runFailedAutoStartVMs(autoVmsToRun); processExternallyManagedVms(); processVmsWithDevicesChange(); saveVmsToDb(); }