void mergeVariable(int type, Address entry, Variable var, ProgramMerge pgmMerge,
			TaskMonitor monitor) {

		if (pgmMerge == null) {
			return;
		}
		switch (type) {
			case VAR_REMOVED:
//			case VAR_TYPE:
				pgmMerge.replaceFunctionVariable(entry, var, monitor);
				break;
			case VAR_NAME:
				try {
					pgmMerge.replaceFunctionVariableName(entry, var, monitor);
				}
				catch (DuplicateNameException e) {
					Msg.error(this, "Unexpected Exception: " + e.getMessage(), e);
				}
				catch (InvalidInputException e) {
					Msg.error(this, "Unexpected Exception: " + e.getMessage(), e);
				}
				break;
			case VAR_DATATYPE:
				pgmMerge.replaceFunctionVariableDataType(entry, var, monitor);
				break;
//			case VAR_LENGTH:
//        			pgmMerge.replaceFunctionVariableLength(entry, var, monitor);
//				break;
			case VAR_COMMENT:
				pgmMerge.replaceFunctionVariableComment(entry, var, monitor);
				break;
//			case VAR_FIRST_USE:
//        			pgmMerge.replaceFunctionVariableFirstUse(entry, var, monitor);
//				break;
//			case VAR_OFFSET:
//        			pgmMerge.replaceFunctionVariableOffset(entry, var, monitor);
//				break;
//			case VAR_ORDINAL:
//        			pgmMerge.replaceFunctionParameterOrdinal(entry, var, monitor);
//				break;
//			case VAR_REGISTER:
//        			pgmMerge.replaceFunctionVariableRegister(entry, var, monitor);
//				break;
			default:
				throw new AssertException("Unsupported type: 0x" + Integer.toHexString(type));
		}
		if (!monitor.isCancelled()) {
			handleProgramMergeMessages(pgmMerge);
		}
	}
@param entry
@param vars an array of the 3 variables (Original, Latest, My) in conflict.
@param varConflicts
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/AbstractFunctionMerger.java