@Test
	public void testSaveToolAndNotLoseOptions() {
		PluginTool tool = launchTool(DEFAULT_TEST_TOOL_NAME);

		Map<String, Object> initialMap = getOptionsMap(tool);
		saveTool(tool);

		Map<String, Object> postSaveMap = getOptionsMap(tool);

		if (initialMap.size() != postSaveMap.size()) {
			if (initialMap.size() > postSaveMap.size()) {
				Msg.debug(this, "We have less options than before our save.  Missing options: ");
				initialMap.keySet().removeAll(postSaveMap.keySet());
				Set<Entry<String, Object>> entrySet = initialMap.entrySet();
				for (Entry<String, Object> entry : entrySet) {
					Msg.debug(this, "\tkey: " + entry.getKey() + " - value: " + entry.getValue());
				}
			}
			else {
				Msg.debug(this, "We have more options than before our save");
				postSaveMap.keySet().removeAll(initialMap.keySet());
				Set<Entry<String, Object>> entrySet = postSaveMap.entrySet();
				for (Entry<String, Object> entry : entrySet) {
					Msg.debug(this, "\tkey: " + entry.getKey() + " - value: " + entry.getValue());
				}
			}

			Assert.fail("We lost or gained options after saving the tool");
		}
	}
A test that outlines and tests the expected saving action of tools that are closed.  Normally,
a tool will save itself when closed, but sometimes it cannot.  This test class verifies these
conditions.
Ghidra/Features/Base/src/test.slow/java/ghidra/framework/project/tool/ToolSaving1Test.java