private AddressSetView getRangeBefore(Program program, Address addr) {
		AddressSpace space = addr.getAddressSpace();
		Address min = space.getMinAddress();
		if (addr.equals(min)) {
			return new AddressSet();
		}
		try {
			return new AddressSet(min, addr.subtractNoWrap(1));
		}
		catch (AddressOverflowException e) {
			throw new AssertException(e);
		}
	}
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