public virtual void Pause() { lock (_executionLock) { if (ExecutableState != ExecutableState.Running) { return; } LogService.Log(LogType, LogMessageType.Debug, Name, "Pausing execution"); ExecutableState = ExecutableState.Paused; // Disable transitions out of the current node while paused. This machine // cannot exit the node until the connectors are enabled again. CurrentNode.DisableConnectors(); // Let overrides pass in their own args, but none needed here. OnPaused(null); } }