FEditorFileUtils::SaveLevel and GetLevels() transient issue

I am trying to create an editor utility that provides a save as function for levels without bringing up a dialog. The goal is to save all sublevels of a map as new versions, incrementing a number each time. So the sublevel level_v001 would become level_v002

I have code that will get the levels in the current world, save them with a new name, remove the old level, and add the new level.
The problem is that I am using world->GetLevels() and it is returning transient assets. So the instant I close my persistent level they are unloaded from memory and gone forever.
When I get path name on the levels from world->GetLevels : /Game/levelname.levelname:PersistentLevel

My next plan of attack is to try to save the level by its path
Does anyone know of a different solution to this particular problem?

Some more information:
The levels are not being saved to disk by the saveLevel command. So they are being garbage collected if I open that original persistent level again, or close the editor. I can fix this by opening a sub level and saving it, leading to two copies of that level in the content browser until it gets garbage collected out.