private static boolean isNamespaceCategoryMatch(DataType dt, Demangled namespace) {
		if (namespace == null) {
			return true;
		}

		Demangled ns = namespace;
		CategoryPath categoryPath = dt.getCategoryPath();
		while (ns != null) {
			if (categoryPath.equals(CategoryPath.ROOT) ||
				!categoryPath.getName().equals(ns.getName())) {
				return false;
			}
			categoryPath = categoryPath.getParent();
			ns = ns.getNamespace();
		}
		return true;
	}
Find non-builtin type
@param dataTypeManager data type manager to be searched
@param dtName name of data type
@param namespace namespace associated with dtName or null if not applicable.  If specified,
a namespace-base category path will be given precedence.
@return data type if found, otherwise null.
@see DataTypeUtilities#findDataType(DataTypeManager, ghidra.program.model.symbol.Namespace, String, Class) for similar namespace
based search.
Ghidra/Features/Base/src/main/java/ghidra/app/util/demangler/DemangledDataType.java