@Override
	public boolean equals(Object obj) {
		if (!(obj instanceof FunctionDataView otherFunctionData)) {
			return false;
		}
		if (!Objects.equals(name, otherFunctionData.name) ||
			!Objects.equals(callingConventionName, otherFunctionData.callingConventionName) ||
			hasVarArgs != otherFunctionData.hasVarArgs ||
			parameters.size() != otherFunctionData.parameters.size() ||
			autoParamCount != otherFunctionData.autoParamCount ||
			isInLine != otherFunctionData.isInLine ||
			hasNoReturn != otherFunctionData.hasNoReturn ||
			allowCustomStorage != otherFunctionData.allowCustomStorage ||
			!Objects.equals(callFixupName, otherFunctionData.callFixupName) ||
			!returnInfo.isSame(otherFunctionData.returnInfo)) {
			return false;
		}

		int paramCount = parameters.size();
		for (int i = 0; i < paramCount; i++) {
			ParamInfo param = parameters.get(i);
			ParamInfo otherParam = otherFunctionData.parameters.get(i);
			if (!param.isSame(otherParam)) {
				return false;
			}
		}

		return true;
	}
Construct a duplicate instance from another {@link FunctionDataView} instance.
@param otherFunctionData function data
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/core/function/editor/FunctionDataView.java