private Function getFunctionBefore(Program program, Address addr) {
		Listing listing = program.getListing();
		FunctionIterator prevFunctionIter =
			listing.getFunctions(getRangeBefore(program, addr), false);
		if (prevFunctionIter.hasNext()) {
			return prevFunctionIter.next();
		}
		return null;
	}
Constructor
@param set set of addresses over which destination functions will be
examined for Jump reference to those functions.
@param assumeContiguousFunctions if true it will be assumed that any unconditional
jump over another function will trigger a call-return override and the creation of
@param considerConditionalBranches if true conditional jumps can also be considered for jumping
to another function as a shared return.
a function at the destination.
Ghidra/Features/Base/src/main/java/ghidra/app/cmd/analysis/SharedReturnAnalysisCmd.java