public virtual void setVariableLocal(string variableName, TypedValue value, AbstractVariableScope sourceActivityExecution) { checkJavaSerialization(variableName, value); VariableStore <CoreVariableInstance> variableStore = VariableStore; if (variableStore.containsKey(variableName)) { CoreVariableInstance existingInstance = variableStore.getVariable(variableName); existingInstance.Value = value; invokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityExecution); } else if (variableStore.isRemoved(variableName)) { CoreVariableInstance existingInstance = variableStore.getRemovedVariable(variableName); existingInstance.Value = value; VariableStore.addVariable(existingInstance); invokeVariableLifecycleListenersUpdate(existingInstance, sourceActivityExecution); DbEntityManager dbEntityManager = Context.CommandContext.DbEntityManager; dbEntityManager.undoDelete((VariableInstanceEntity)existingInstance); } else { CoreVariableInstance variableValue = VariableInstanceFactory.build(variableName, value, false); VariableStore.addVariable(variableValue); invokeVariableLifecycleListenersCreate(variableValue, sourceActivityExecution); } }