final ModelProvider modelProvider, final ConfigurationPersisterProvider injectedConfigPersisterProvider) throws OperationFailedException {
this.operation = operation;
final ModelNode operationNode = operation.getOperation();
stepsValidator.validateParameter(STEPS, operationNode.get(STEPS));
this.resultHandler = resultHandler;
this.steps = operationNode.require(STEPS).asList();
this.unfinishedCount.set(steps.size());
this.rollbackOnRuntimeFailure = (!operationNode.hasDefined(ROLLBACK_ON_RUNTIME_FAILURE) || operationNode.get(ROLLBACK_ON_RUNTIME_FAILURE).asBoolean());
this.modelSource = modelProvider;
this.localModel = this.modelSource.getModel().clone();
this.injectedConfigPersisterProvider = injectedConfigPersisterProvider;