private void migrateFolder(String folderPath, IndexedLocalFileSystem indexedFs)
			throws IOException {
		try {
			for (String name : getFolderNames(folderPath)) {
				indexedFs.createFolder(folderPath, name);
				migrateFolder(getPath(folderPath, name), indexedFs);
			}
			for (String name : getItemNames(folderPath, false)) {
				LocalFolderItem item = getItem(folderPath, name);
				indexedFs.migrateItem(item);
			}

			if (!SEPARATOR.equals(folderPath)) {
				// non-root should be empty - remove it
				File dir = getFile(folderPath);
				dir.delete();
			}
		}
		catch (InvalidNameException e) {
			throw new IOException("Unexpected exception", e);
		}
	}
Convert this mangled filesystem to an indexed filesystem.  This instance should be discarded
and not used once the conversion has completed.

@throws IOException
Ghidra/Framework/FileSystem/src/main/java/ghidra/framework/store/local/MangledLocalFileSystem.java