// ----------------------------------------------------------------------
 public void ForEachRecursiveDepthLast(iCS_EditorObject parent, Action <iCS_EditorObject> fnc)
 {
     DetectUndoRedo();
     if (parent == null)
     {
         EditorObjects[0].ForEachRecursiveDepthLast(child => fnc(child));
     }
     else
     {
         parent.ForEachRecursiveDepthLast(child => fnc(child));
     }
 }