private void ReleaseRemoveCommands()
{
if (_commandsToRemove.Count == 0) return;
foreach (var item in _commandsToRemove.OrderByDescending(n => n.Index))
{
item.Execute();
_removed.Push(item);
}
_commandsToRemove.Clear();
}