@Override
	public void insert(int rowIndex, DataType dataType, int length, int numCopies,
			TaskMonitor monitor) throws InvalidDataTypeException, CancelledException {
		int txId = viewDTM.startTransaction("Insert Multiple");
		try {
			monitor.initialize(numCopies);
			for (int i = 0; i < numCopies; i++) {
				monitor.checkCancelled();
				insert(rowIndex + i, dataType, length, null, null);
				monitor.incrementProgress(1);
			}
		}
		finally {
			viewDTM.endTransaction(txId, true);
		}
	}
Insert the named data type before the specified index.

@param rowIndex index of the row (component).

@throws InvalidDataTypeException if the union being edited is part
        of the data type being inserted or if inserting isn't allowed.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/compositeeditor/UnionEditorModel.java