private ArrayList<Address> getCallAddressesByReference(Function function,
				TaskMonitor monitor) throws CancelledException {
			ArrayList<Address> resultList = new ArrayList<Address>();
			Program program = function.getProgram();
			ReferenceManager referenceManager = program.getReferenceManager();
			AddressSetView addresses = function.getBody();
			AddressIterator addressIterator = addresses.getAddresses(true);
			while (addressIterator.hasNext()) {
				monitor.checkCancelled();
				Address address = addressIterator.next();
				Reference[] referencesFrom = referenceManager.getReferencesFrom(address);
				if (referencesFrom != null) {
					for (Reference reference : referencesFrom) {
						if (reference.getReferenceType().isCall()) {
							resultList.add(reference.getToAddress());
						}
					}
				}
			}
			return resultList;
		}
Establish decompiler options for the feature vector calculation
@param program is the specific program to decompile
@return the formal options object
Ghidra/Features/VersionTrackingBSim/src/main/java/ghidra/feature/vt/api/BSimProgramCorrelator.java