private Map<Integer, Object> createOperandsMap(Instruction inst) {

		Map<Integer, Object> map = new HashMap<>();
		int numOperands = inst.getNumOperands();

		for (int opIndex = 0; opIndex < numOperands; opIndex++) {

			int opType = inst.getOperandType(opIndex);

			// save off operand if a scalar or a code or data reference
			if (OperandType.isScalar(opType)) {
				map.put(opIndex, inst.getScalar(opIndex));
				continue;
			}

			// if operands are addresses check to see if both refer to data or both refer to code
			if (OperandType.isAddress(opType)) {
				if (OperandType.isDataReference(opType)) {
					//Reference opRef = inst.getPrimaryReference(opIndex);
					map.put(opIndex, inst.getAddress(opIndex));
					continue;
				}

				if (OperandType.isCodeReference(opType)) {
					map.put(opIndex, inst.getAddress(opIndex));
					continue;
				}

			}
		}
		return map;
	}
Method to create offset/operand mapping for each function in match set
if more than one identical offset/operand mapping in src or dest piles then remove
if no operands remove
Ghidra/Features/VersionTracking/src/main/java/ghidra/feature/vt/gui/actions/AutoVersionTrackingTask.java