public static ProgramDB cloneProgram(ProgramDB prog, Object consumer) throws IOException {
		try {
			DBHandle newDbh = DBTestUtils.cloneDbHandle(prog.getDBHandle());
			ProgramDB newProg = new ProgramDB(newDbh, OpenMode.UPDATE, TaskMonitor.DUMMY, consumer);
			newProg.setChangeSet(new ProgramDBChangeSet(newProg.getAddressMap(), 20));
			disableAutoAnalysis(newProg);
			return newProg;
		}
		catch (CancelledException | VersionException e) {
			throw new RuntimeException(e); // unexpected
		}
	}
Clone a program to a new instance.  The new instance will be assigned an empty change-set.
@param prog program to be cloned
@param consumer new program consumer
@return new program instance
@throws IOException if a file IO error occurs
Ghidra/Features/Base/src/test/java/ghidra/program/database/AbstractMTFModel.java