private ProgramDB buildR4000Program() throws Exception {

		ProgramBuilder builder = new ProgramBuilder("r4000", ProgramBuilder._MIPS, consumer);

		builder.createMemory("label", "08000", 0x1000);
		builder.setBytes(
			"808c",
			"0c 10 d0 2b 24 04 00 33 0c 10 7e a4 24 16 00 30 af a2 00 44 40 04 78 00 00 00 00 00 00 04 12 02 30 42 00 ff",
			true);
		builder.setBytes("80b0", "24 03 00 27 14 43 00 0a 30 82 00 ff 2c 42 00 21 14 40 00 07",
			true);
		builder.setProperty(Program.DATE_CREATED, new Date(100000000)); // arbitrary, but consistent

		ProgramDB program = builder.getProgram();

		AbstractGenericTest.setInstanceField("recordChanges", program, Boolean.TRUE);

		UniversalID ID = UniversalIdGenerator.nextID();

		if (lastGeneratedUniversalID != null) {
			if (!lastGeneratedUniversalID.equals(ID)) {
				// if this happens, update initializeStaticUniversalIDUsage()
				throw new AssertException("Expected Test UniversalID has changed.  "
					+ "This is probably due to an new static usage of the UniversalIDGenerator.");
			}
		}

		return program;
	}
We keep track of this to know if there are any changes in static initialization.  We want
to make sure that all program building runs result in the same ID sequences.  The first
program built triggers static loading, which will cause the IDs for that run to be 
larger than the subsequent runs.  So, we call all known static initializers before we 
run.  This variable lets us know if a new initializer was added, as the ID value between
the first run and the second run will be different.
Ghidra/Features/Base/src/test/java/ghidra/program/database/MergeProgramGenerator_Mips.java