public static <E extends Exception> void tx(DataTypeManager dtm, ExceptionalCallback<E> c) {
		int txId = dtm.startTransaction("Test - Function in Transaction");
		boolean commit = true;
		try {
			c.call();
			dtm.flushEvents();
			waitForSwing();
		}
		catch (Exception e) {
			commit = false;
			failWithException("Exception modifying program '" + dtm.getName() + "'", e);
		}
		finally {
			dtm.endTransaction(txId, commit);
		}
	}
Provides a convenient method for modifying the given data type manager, handling the 
transaction logic.

@param dtm the data type manager
@param c the code to execute
@see #modifyProgram(Program, ExceptionalCallback)
@see #modifyProgram(Program, ExceptionalFunction)
Ghidra/Features/Base/src/main/java/ghidra/test/AbstractGhidraHeadlessIntegrationTest.java