private static String getSpecialRecordStart(AbstractMsType type) {
		if (!((type instanceof AbstractCompositeMsType || type instanceof AbstractEnumMsType))) {
			return null;
		}

		String name;
		if (type instanceof AbstractCompositeMsType) {
			AbstractCompositeMsType compType = (AbstractCompositeMsType) type;
			if (compType instanceof AbstractClassMsType) {
				name = "class " + compType.getName();
			}
			else if (compType instanceof AbstractStructureMsType) {
				name = "struct " + compType.getName();
			}
			else if (compType instanceof AbstractUnionMsType) {
				name = "union " + compType.getName();
			}
			else {
				name = "interface " + compType.getName();
			}
		}
		else { //type instanceof AbstractEnumMsType
			AbstractEnumMsType enumType = (AbstractEnumMsType) type;
			name = "enum " + enumType.getName();
		}
		return name;
	}
Gets a demangles the name and returns the qualified name. Returns null if not mangled
or if error in demangling.
@param mangledString the mangled string to be decoded
@return the qualified name of the demangled string or null if not mangled or error.
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/PdbResearch.java