public void Transform()
 {
     InitNextTransform();
     var dublicateFromIndex = _random.Next(_commands.Count);
     var dublicateToIndex = _random.Next(dublicateFromIndex, _commands.Count + 1);
     var dublicateCommand = new DublicateCommand(_commands, dublicateFromIndex, dublicateToIndex);
     dublicateCommand.Execute();
     _dublicated = dublicateCommand;
 }
        public void Transform()
        {
            InitNextTransform();
            var dublicateFromIndex = _random.Next(_commands.Count);
            var dublicateToIndex   = _random.Next(dublicateFromIndex, _commands.Count + 1);
            var dublicateCommand   = new DublicateCommand(_commands, dublicateFromIndex, dublicateToIndex);

            dublicateCommand.Execute();
            _dublicated = dublicateCommand;
        }
 private void InitNextTransform()
 {
     _dublicated = null;
 }
 public void Undo()
 {
     _dublicated?.Undo();
     _dublicated = null;
 }
 private void InitNextTransform()
 {
     _dublicated = null;
 }
 public void Undo()
 {
     _dublicated?.Undo();
     _dublicated = null;
 }