@Override
		public boolean isSame(Symbol s1, Symbol s2) {
			if (s1.isExternalEntryPoint() != s2.isExternalEntryPoint()) {
				return false;
			}
			Symbol[] sym1 = program1.getSymbolTable().getSymbols(s1.getAddress());
			Symbol[] sym2 = program2.getSymbolTable().getSymbols(s2.getAddress());
			if (sym1.length != sym2.length) {
				return false;
			}
			Arrays.sort(sym1, SYMBOL_COMPARATOR);
			Arrays.sort(sym2, SYMBOL_COMPARATOR);
			for (int i = 0; i < sym1.length; i++) {
				if (!equivalentSymbols(program1, program2, sym1[i], sym2[i])) {
					return false;
				}
			}
			return true;
		}
Used to compare the symbols in two programs.
Comparator is intended to be invoked with primary symbols only and will compare together with 
all non-primary symbols.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramDiff.java