@Override
	public void findDataTypes(String name, List<DataType> list, boolean caseSensitive,
			TaskMonitor monitor) {
		if (name == null || name.length() == 0) {
			return;
		}
		if (name.equals(DataType.DEFAULT.getName())) {
			list.add(DataType.DEFAULT);
			return;
		}

		monitor = TaskMonitor.dummyIfNull(monitor);

		Pattern regexp = UserSearchUtils.createSearchPattern(name, caseSensitive);
		lock.acquire();
		try {
			buildSortedDataTypeList();
			for (DataType dt : sortedDataTypes) {
				if (monitor.isCancelled()) {
					return;
				}
				Matcher matcher = regexp.matcher(dt.getName());
				if (matcher.matches()) {
					list.add(dt);
				}
			}
		}
		finally {
			lock.release();
		}
	}
Replace one source archive (oldDTM) with another (newDTM). Any data types
whose source was the oldDTM will be changed to have a source that is the
newDTM. The oldDTM will no longer be referenced as a source by this data type
manager.

@param oldSourceArchive data type manager for the old source archive
@param newSourceArchive data type manager for the new source archive
@throws IllegalArgumentException if the oldDTM isn't currently a source
                                 archive for this data type manager or if the
                                 old and new source archives already have the
                                 same unique ID.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeManagerDB.java