public static Structure findExistingClassStruct(DataTypeManager dataTypeManager,
			GhidraClass classNamespace) {

		Structure dt = findPreferredDataType(dataTypeManager, classNamespace,
			classNamespace.getName(), Structure.class, true);
		if (dt != null) {
			return dt;
		}

		final String[] namespacePaths = getRelativeCategoryPaths(classNamespace);

		return findDataType(dataTypeManager, classNamespace.getName(), Structure.class,
			categoryPath -> getCategoryMatchType(categoryPath, namespacePaths, true));
	}
Find the structure data type which corresponds to the specified class namespace
within the specified data type manager.
The structure must utilize a namespace-based category path, however,
the match criteria can be fuzzy and relies primarily on the full class namespace.  
A properly named class structure must reside within a category whose trailing 
path either matches the class namespace or the class-parent's namespace.  
Preference is given to it residing within the class-parent's namespace.
@param dataTypeManager data type manager which should be searched.
@param classNamespace class namespace
@return existing structure which resides within matching category.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/data/DataTypeUtilities.java