Source:
protected void ExecuteVdsBrokerCommand() { final Map<String, String> domains = new HashMap<String, String>(); final Version vdsVersion = new Version(getVds().getsoftware_version()); for (storage_pool_iso_map domain : getParameters().getDomainsList()) { domains.put(domain.getstorage_id().toString(), domain.getstatus() != null ? domain.getstatus() == StorageDomainStatus.InActive ? "attached" : domain.getstatus().toString().toLowerCase() : StorageDomainStatus.Unknown.toString() .toLowerCase()); } if (vdsVersion.compareTo(new Version("4.10")) < 0) { status = getBroker().reconstructMaster(getParameters().getStoragePoolId().toString(), getParameters().getStoragePoolName(), getParameters().getMasterDomainId().toString(), domains, getParameters().getMasterVersion(), Config.<String> GetValue(ConfigValues.LockPolicy), Config.<Integer> GetValue(ConfigValues.LockRenewalIntervalSec), Config.<Integer> GetValue(ConfigValues.LeaseTimeSec), Config.<Integer> GetValue(ConfigValues.IoOpTimeoutSec), Config.<Integer> GetValue(ConfigValues.LeaseRetries)); } else { status = getBroker().reconstructMaster(getParameters().getStoragePoolId().toString(), getParameters().getVdsSpmId(), getParameters().getStoragePoolName(), getParameters().getMasterDomainId().toString(), domains, getParameters().getMasterVersion(), Config.<String> GetValue(ConfigValues.LockPolicy), Config.<Integer> GetValue(ConfigValues.LockRenewalIntervalSec), Config.<Integer> GetValue(ConfigValues.LeaseTimeSec), Config.<Integer> GetValue(ConfigValues.IoOpTimeoutSec), Config.<Integer> GetValue(ConfigValues.LeaseRetries)); } ProceedProxyReturnValue(); }

Target:
protected void ExecuteVdsBrokerCommand() { final Map<String, String> domains = new HashMap<String, String>(); final Version vdsVersion = new Version(getVds().getsoftware_version()); final Version hostIdMinVersion = new Version( Config.<String> GetValue(ConfigValues.ReconstructMasterHostIdVdsMinVersion)); for (storage_pool_iso_map domain : getParameters().getDomainsList()) { domains.put(domain.getstorage_id().toString(), domain.getstatus() != null ? domain.getstatus() == StorageDomainStatus.InActive ? "attached" : domain.getstatus().toString().toLowerCase() : StorageDomainStatus.Unknown.toString() .toLowerCase()); } if (vdsVersion.compareTo(hostIdMinVersion) < 0) { status = getBroker().reconstructMaster(getParameters().getStoragePoolId().toString(), getParameters().getStoragePoolName(), getParameters().getMasterDomainId().toString(), domains, getParameters().getMasterVersion(), Config.<String> GetValue(ConfigValues.LockPolicy), Config.<Integer> GetValue(ConfigValues.LockRenewalIntervalSec), Config.<Integer> GetValue(ConfigValues.LeaseTimeSec), Config.<Integer> GetValue(ConfigValues.IoOpTimeoutSec), Config.<Integer> GetValue(ConfigValues.LeaseRetries)); } else { status = getBroker().reconstructMaster(getParameters().getStoragePoolId().toString(), getParameters().getVdsSpmId(), getParameters().getStoragePoolName(), getParameters().getMasterDomainId().toString(), domains, getParameters().getMasterVersion(), Config.<String> GetValue(ConfigValues.LockPolicy), Config.<Integer> GetValue(ConfigValues.LockRenewalIntervalSec), Config.<Integer> GetValue(ConfigValues.LeaseTimeSec), Config.<Integer> GetValue(ConfigValues.IoOpTimeoutSec), Config.<Integer> GetValue(ConfigValues.LeaseRetries)); } ProceedProxyReturnValue(); }