protected ResourceFile createChildScript(ResourceFile parentScriptFile,
			String parentScriptPackage) throws IOException {
		ResourceFile newScriptFile = createTempScriptFile("ChildScript");
		String filename = newScriptFile.getName();
		String className = filename.replaceAll("\\.java", "");

		String parentScriptName = parentScriptFile.getName();
		String parentClassName = parentScriptName.replaceAll("\\.java", "");

		String importLine = (parentScriptPackage != null
				? ("import " + parentScriptPackage + "." + parentClassName + ";\n\n")
				: "");

		//@formatter:off
		String newScript =
				importLine +
				"public class "+className+" extends "+parentClassName+" {\n\n" +

		    	"    @Override\n" +
		    	"    public void run() throws Exception {\n" +
		    	"        // just call our parent\n" +
		    	"        message();\n" +
		    	"    }\n" +
		    	"}\n\n";
		//@formatter:on

		writeStringToFile(newScriptFile, newScript);

		return newScriptFile;
	}
Unusual Code Alert!: the test runs faster than the writing of the class file
and the File object's modified granularity is not low enough such that sometimes
the code will not recompile a script that we have changed, as it will not do
so if it thinks the file has not changed.

@param file the file to update
Ghidra/Features/Base/src/test.slow/java/ghidra/app/plugin/core/script/AbstractGhidraScriptMgrPluginTest.java