@Override
	public Function getFunctionAt(Address entryPoint) {
		lock.acquire();
		try {
			if (lastFuncID != -1) {
				FunctionDB function = cache.get(lastFuncID);
				if (function != null && function.getEntryPoint().equals(entryPoint)) {
					return function;
				}
			}
			Symbol symbol = program.getSymbolTable().getPrimarySymbol(entryPoint);
			if (symbol != null && symbol.getSymbolType() == SymbolType.FUNCTION) {
				return getFunction(symbol.getID());
			}
		}
		finally {
			lock.release();
		}
		return null;
	}
Get the function with the given key.
@param key ID of the function; ID is obtained by calling
Function.getID()
@return null if there is no function with the given key
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionManagerDB.java