private boolean isMergeValidForFilter(int type) throws IllegalArgumentException {
		switch (type) {
			// The following can be MERGE.
			case PLATE_COMMENTS:
			case PRE_COMMENTS:
			case EOL_COMMENTS:
			case REPEATABLE_COMMENTS:
			case POST_COMMENTS:
			case SYMBOLS:
			case FUNCTION_TAGS:
				return true;
			// The following cannot be MERGE.
			case PROGRAM_CONTEXT:
			case BYTES:
			case INSTRUCTIONS:
			case DATA:
			case REFERENCES:
			case BOOKMARKS:
			case PROPERTIES:
			case FUNCTIONS:
			case EQUATES:
			case PRIMARY_SYMBOL:
			case SOURCE_MAP:
				return false;
			default:
				throw new IllegalArgumentException(
					"Parameter to method isBothFilterValid() must be an individual merge type.");
		}
	}
isMergeValidForFilter determines whether or not the <CODE>MERGE</CODE>
 filter if valid for the indicated primary merge type.
Possible types are: BYTES, INSTRUCTIONS, DATA, REFERENCES,
SYMBOLS, PRIMARY_SYMBOL, COMMENTS, PROGRAM_CONTEXT, PROPERTIES, BOOKMARKS, FUNCTIONS, 
SOURCE_MAP, ALL.

@param type the type of difference to merge between the programs.
@return true if <CODE>MERGE</CODE> is valid for the merge type.
@throws IllegalArgumentException if type isn't a predefined individual 
merge type.
Ghidra/Features/Base/src/main/java/ghidra/program/util/ProgramMergeFilter.java