private List<Function> geFunctionsThatReferenceAddress(Address address)
			throws CancelledException {

		Set<Function> functions = new HashSet<Function>();

		ReferenceIterator iterator = program.getReferenceManager().getReferencesTo(address);

		while (iterator.hasNext()) {

			monitor.checkCancelled();

			Reference reference = iterator.next();
			Address refFromAddress = reference.getFromAddress();

			Function function = api.getFunctionContaining(refFromAddress);
			if (function == null) {
				continue;
			}
			if (function.isThunk()) {
				function = function.getThunkedFunction(true);
			}
			functions.add(function);
		}

		List<Function> functionList = new ArrayList<Function>(functions);

		return functionList;
	}
Method to generate a list of functions that reference the given address
@param address the given address
@return a list of functions that reference the given address
@throws CancelledException if cancelled
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassHelper.java