The front/back order of GoObjects

In case of the X,Y locations of GoObjects are very closed each other, how their front/back orders being decided? Is it true that the object being added to document latest stays most front? Or GO has other ways to sort the front/back orders of objects?

Well, obviously if the objects are in different layers, the Z order is clearly defined.
If they are in the same GoGroup, the Z order is clearly defined.
But if they are top-level objects in the same layer, then the order is not defined. With the current implementation, there is a tendency for objects added last to be in front, but that is not guaranteed.