@Override
	public void findAll(Program program, SearchAndReplaceQuery query,
			Accumulator<QuickFix> accumulator, TaskMonitor monitor) throws CancelledException {

		ProgramBasedDataTypeManager dataTypeManager = program.getDataTypeManager();
		List<DataType> allDataTypes = new ArrayList<>();
		dataTypeManager.getAllDataTypes(allDataTypes);

		monitor.initialize(allDataTypes.size(), "Searching DataTypes...");

		boolean doNames = query.containsSearchType(nameType);
		boolean doDatatypeComments = query.containsSearchType(datatypeCommentsType);
		boolean doFieldNames = query.containsSearchType(fieldNameType);
		boolean doEnumValueNames = query.containsSearchType(enumValueNameType);

		for (DataType dataType : allDataTypes) {
			monitor.increment();
			if (dataType instanceof Pointer || dataType instanceof Array) {
				continue;
			}
			if (doNames) {
				nameType.search(program, dataType, query, accumulator);
			}
			if (doDatatypeComments) {
				datatypeCommentsType.search(program, dataType, query, accumulator);
			}
			if (doFieldNames) {
				fieldNameType.search(program, dataType, query, accumulator);
			}
			if (doEnumValueNames) {
				enumValueNameType.search(program, dataType, query, accumulator);
			}
		}
	}
{@link SearchAndReplaceHandler} for handling search and replace for datatype names,
structure and union field names, structure and union field comments, enum value names,
and enum value comments.
Ghidra/Features/Base/src/main/java/ghidra/features/base/replace/handler/DataTypesSearchAndReplaceHandler.java