@Override
	public boolean setActiveFunction(Side side, Function function) {
		// If the right side changes, nothing special happens so let the super handle it.
		// If the left side changes, the entire set of functions on the right will change, so
		// we need special handling for that case
		if (side == RIGHT) {
			return super.setActiveFunction(side, function);
		}

		if (function == activeFunctions.get(LEFT)) {
			return false;	// function is already selected
		}

		if (!containsFunction(side, function)) {
			return false;
		}

		activeFunctions = activeFunctions.with(side, function);
		Function newRightSideFunction = getFunctions(RIGHT).get(0);
		activeFunctions = activeFunctions.with(RIGHT, newRightSideFunction);

		fireModelDataChanged();
		return true;
	}
Removes all functions in the model that come from the given
program

@param program the program to remove functions from
Ghidra/Features/Base/src/main/java/ghidra/features/base/codecompare/model/MatchedFunctionComparisonModel.java