public StringBuffer createParentStringBuffer(RecoveredClass recoveredClass)
			throws CancelledException {

		StringBuffer parentStringBuffer = new StringBuffer();
		String classString = recoveredClass.getName();

		if (recoveredClass.hasParentClass()) {

			Map<RecoveredClass, Boolean> parentToBaseTypeMap =
				recoveredClass.getParentToBaseTypeMap();

			List<RecoveredClass> parentList = recoveredClass.getParentList();
			for (RecoveredClass parent : parentList) {
				monitor.checkCancelled();
				Boolean isVirtualParent = parentToBaseTypeMap.get(parent);
				if (isVirtualParent != null && isVirtualParent) {
					classString = classString.concat(" : virtual " + parent.getName());
				}
				else {
					classString = classString.concat(" : " + parent.getName());
				}
			}
		}
		parentStringBuffer.append("class " + classString);
		return parentStringBuffer;
	}
Method to create a string buffer containing class parents in the correct order. The format
of the parent string is of the format "class <class_name> : <parent1_spec> : <parent2_spec> ...
where parentN_spec = "virtual (only if inherited virtually) <parentN_name>"
Examples:
The class Pet with no parents would be "class Pet"
The class Cat with non-virtual parent Pet would be "class Cat : Pet"
The class A with virtual parent B and non-virtual parent C would be "class A : virtual B : C"
@param recoveredClass the given class
@return StringBuffer containing class parent description
@throws CancelledException if cancelled
Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RecoveredClassHelper.java