Weird Error when performing Undo through code?

I am working on a level editor and I have encountered the following error:

InvalidOperationException: Operation is not valid due to the current state of the object
System.Collections.Generic.Stack`1[System.Boolean].Pop ()

What I’m doing is that I want to prevent an object from being placed, if there already exists one at that position. The problem is that before I instantiate the object, I make an Undo Group, so I can revert the creation of the object. Now for specific reasons, I need to instantiate the object either way and in case the object shouldn’t be placed, I perform an Undo through code (I tried just deleting it, but then I always need to undo every step where an object failed to be created and I don’t want that).

Anyway, all of that works great, but whenever an object can’t be created I get this error, even though everything seems to work (It was the same when I was just deleting the object).

I hope anyone can tell me what the issue is here. Thanks in advance.

For clarity I’m just gonna post the important part of my code here:

GameObject  go;

Undo.IncrementCurrentGroup();
Undo.SetCurrentGroupName("Create " + prefab.name);
go = (GameObject)PrefabUtility.InstantiatePrefab(prefab);

//Here I initialize the object.

if (hit && [...]) //if the object should be deleted
{
   Undo.RegisterCreatedObjectUndo(go, "Create" + go.name);
   Undo.RevertAllInCurrentGroup();
   return;
}

Fixed it!

I don’t really know why that error showed up, but I fixed it in a way that even improved my editor.
The code I’m using was reused a lot and when I first wrote it I was learning editor scripting. The Undo group is completely unnecessary. All I do now is to do this at the end of my script (When the object is successfully created and shouldn’t be removed).

Undo.RegisterCreatedObjectUndo(go, "Create" + go.name);

In the if statement instead of any Undo stuff, I just delete the object with:

DestroyImmediate(go);

Now in my Level Editor, I can Undo everything I drew in one mouse press at once.

Hope this helps someone in the future <3