@Override
	protected BSimApplyResult apply(Function target, Function source) {
		String defaultFunctionName = SymbolUtilities.getDefaultFunctionName(source.getEntryPoint());
		if (defaultFunctionName.equals(source.getName())) {
			return new BSimApplyResult(target, source, BSimResultStatus.ERROR,
				"Can't apply default function names");
		}
		try {
			FunctionUtility.applySignature(target, source, applyEmptyStructures,
				DataTypeConflictHandler.REPLACE_EMPTY_STRUCTS_OR_RENAME_AND_ADD_HANDLER);
			return new BSimApplyResult(target, source, BSimResultStatus.SIGNATURE_APPLIED, "");
		}
		catch (Exception e) {
			return new BSimApplyResult(target, source, BSimResultStatus.ERROR,
				"Apply signature failed (" + e.getMessage() + ")");
		}
	}
Task for applying names, namespaces, and signatures from a match function to the queried function
Ghidra/Features/BSim/src/main/java/ghidra/features/bsim/gui/search/results/apply/SignatureBSimApplyTask.java