private long resolveSymbolID(Program pgm, long symbolID) {
		int pgmIndex = getProgramIndex(pgm);
		try {
			switch (pgmIndex) {
				case LATEST:
					return getResultIDFromLatestID(symbolID);
				case MY:
					return getResultIDFromMyID(symbolID);
				case ORIGINAL:
					return getResultIDFromOriginalID(symbolID);
				case RESULT:
					if (resultSymTab.getSymbol(symbolID) != null) {
						return symbolID;
					}
					break;
			}
		}
		catch (NoValueException e) {
			// Couldn't get a result ID so do nothing here and fall thru to return -1;
		}
		return -1;
	}
Gets the symbolID from the result program that is the equivalent symbol
to the symbol whose ID and program are specified as parameters.
@param pgm the program the symbol ID is coming from
@param symbolID the ID of the symbol in pgm
@return the ID of the corresponding symbol in the result program
or -1 if there is no corresponding symbol in the result program.
Ghidra/Features/Base/src/main/java/ghidra/app/merge/listing/SymbolMerger.java