public void dispose() {
		if (program.isUsedBy(this)) {

			// Make sure any buffered events are processed before we release.  This fixes a timing
			// issue that can  happen when the test thread disposes the program while the Swing
			// thread is processing events.
			flushEvents();
			program.release(this);
		}
	}
Get the constructed program.  If this builder was not constructed with a consumer,
the caller should dispose the builder after either the program is no longer
in use, or a new consumer has been added to the program (e.g., program opened
in a tool or another consumer explicitly added).
@return constructed program
Ghidra/Features/Base/src/main/java/ghidra/program/database/ProgramBuilder.java