public boolean clearMarkForUninstall() {

		if (installDir == null) {
			Msg.error(this,
				"Cannot restore extension; extension installation dir is missing for: " + name);
			return false; // already marked as uninstalled
		}

		Msg.trace(this, "Restoring extension state files for '" + installDir + "'");

		boolean success = true;
		File manifest = new File(installDir, ModuleUtilities.MANIFEST_FILE_NAME_UNINSTALLED);
		if (manifest.exists()) {
			File newFile = new File(installDir, ModuleUtilities.MANIFEST_FILE_NAME);
			if (!manifest.renameTo(newFile)) {
				Msg.trace(this, "Unable to rename module manifest file: " + manifest);
				success = false;
			}
		}
		else {
			Msg.trace(this, "No manifest file found for extension '" + name + "'");
		}

		File properties = new File(installDir, ExtensionUtils.PROPERTIES_FILE_NAME_UNINSTALLED);
		if (properties.exists()) {
			File newFile = new File(installDir, ExtensionUtils.PROPERTIES_FILE_NAME);
			if (!properties.renameTo(newFile)) {
				Msg.trace(this, "Unable to rename properties file: " + properties);
				success = false;
			}
		}
		else {
			Msg.trace(this, "No properties file found for extension '" + name + "'");
		}

		return success;
	}
A companion method for {@link #markForUninstall()} that allows extensions marked for cleanup 
to be restored to the installed state.
<p>
Specifically, the following will be renamed:
<UL>
<LI>Module.manifest.uninstalled to Module.manifest</LI>
<LI>extension.properties.uninstalled to extension.properties</LI>
</UL>
@return true if successful
Ghidra/Framework/Generic/src/main/java/ghidra/util/extensions/ExtensionDetails.java