public static void save(Component component, Archive archive)
			throws DuplicateFileException, IOException {
		if (!archive.isSavable()) {
			archive.saveAs(component);
		}
		else {
			archive.save();
		}
	}
This method will perform a save on the given archive.  However, the one caveat is that if
the archive has never been saved, then a filename needs to be chosen.  Under this 'special'
condition this method logically turns into a {@link #saveAs(Component, FileArchive)}.

@param component The component over which GUI message will be shown when required.
@param archive The archive to save.
@throws DuplicateFileException thrown only in the {@link #saveAs(Component, FileArchive)}
		   condition in the case of a naming conflict.
@throws IOException If the sky is falling.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/datamgr/archive/ArchiveUtils.java