Source:
<code>public ArrayList<VdcReturnValueBase> execute() { if (parameters == null || parameters.isEmpty()) { log.infoFormat("{0} of type {1} invoked with no actions", this.getClass().getSimpleName(), actionType); return new ArrayList<VdcReturnValueBase>(); } ArrayList<VdcReturnValueBase> returnValues = new ArrayList<VdcReturnValueBase>(); try { VdcReturnValueBase returnValue; for (VdcActionParametersBase parameter : getParameters()) { parameter.setMultipleAction(true); returnValue = ExecutionHandler.evaluateCorrelationId(parameter); if (returnValue == null) { CommandBase<?> command = isInternal ? CommandsFactory.createCommand(actionType, parameter, commandContext.duplicate() .resetCompensationContext() <START> .resetExecutionContext()) : <END> CommandsFactory.createCommand(actionType, parameter); command.setInternalExecution(isInternal); getCommands().add(command); } else { returnValues.add(returnValue); } } if (getCommands().size() == 1) { ThreadLocalParamsContainer.setCorrelationId(getCommands().get(0).getCorrelationId()); returnValues.add(getCommands().get(0).canDoActionOnly()); } else { checkCanDoActionsAsynchronously(returnValues); } boolean canRunActions = true; if (isRunOnlyIfAllCanDoPass) { for (VdcReturnValueBase value : returnValues) { if (!value.getCanDoAction()) { canRunActions = false; break; } } } if (canRunActions) { if (isWaitForResult) { invokeSyncCommands(); } else { invokeCommands(); } } } catch (RuntimeException e) { log.error("Failed to execute multiple actions of type: " + actionType, e); } return returnValues; }</code><technical_language>reset execution-context? migrations fired maintenance, sense maintenance job right</technical_language>

Target:
public ArrayList<VdcReturnValueBase> execute() { if (parameters == null || parameters.isEmpty()) { log.infoFormat("{0} of type {1} invoked with no actions", this.getClass().getSimpleName(), actionType); return new ArrayList<VdcReturnValueBase>(); } ArrayList<VdcReturnValueBase> returnValues = new ArrayList<VdcReturnValueBase>(); try { VdcReturnValueBase returnValue; for (VdcActionParametersBase parameter : getParameters()) { parameter.setMultipleAction(true); returnValue = ExecutionHandler.evaluateCorrelationId(parameter); if (returnValue == null) { CommandBase<?> command = isInternal ? CommandsFactory.createCommand(actionType, parameter, commandContext.duplicate() .withoutCompensationContext() .withoutExecutionContext()) : CommandsFactory.createCommand(actionType, parameter); command.setInternalExecution(isInternal); getCommands().add(command); } else { returnValues.add(returnValue); } } if (getCommands().size() == 1) { ThreadLocalParamsContainer.setCorrelationId(getCommands().get(0).getCorrelationId()); returnValues.add(getCommands().get(0).canDoActionOnly()); } else { checkCanDoActionsAsynchronously(returnValues); } boolean canRunActions = true; if (isRunOnlyIfAllCanDoPass) { for (VdcReturnValueBase value : returnValues) { if (!value.getCanDoAction()) { canRunActions = false; break; } } } if (canRunActions) { if (isWaitForResult) { invokeSyncCommands(); } else { invokeCommands(); } } } catch (RuntimeException e) { log.error("Failed to execute multiple actions of type: " + actionType, e); } return returnValues; }