/// <summary>
 /// Проверка состояния для управляемого перехода.
 /// </summary>
 /// <param name="state"></param>
 private void ValidateControlledChange(MachineState state)
 {
     //
     //    В качестве управляемого перехода допускаются только STOPPED и RUNNING.
     //
     if (!state.In(MachineState.RUNNING, MachineState.STOPPED))
     {
         throw new ArgumentOutOfRangeException(nameof(state));
     }
 }