private void applyBasic(ComboType combo, AbstractCompositeMsType type,
			FieldListTypeApplier.FieldLists lists) throws CancelledException, PdbException {
		Composite composite = combo.dt();
		CppCompositeType classType = combo.ct();
		boolean isClass = (type instanceof AbstractClassMsType);
		int size = getSizeInt(type);
		clearComponents(composite);
		if (!lists.methods().isEmpty()) {
			// See applyCpp where we store sp in CppCompositeType so we don't have to determine
			//  this again (including possible demangling)... need a place to store this or
			//  make sure our CppCompositeType (or its replacement) can be the union solution as
			//  well.  Note that the namespace convention of making a Class namespace is what
			//  allows the "this" pointer to be a pointer to the appropriate container type (even
			//  though this is a "union").
			SymbolPath sp = getFixedSymbolPath(type);
			applicator.predefineClass(sp);
		}
		List<DefaultPdbUniversalMember> myMembers = new ArrayList<>();
		addVftPtrs(composite, classType, lists.vftPtrs(), type, myMembers);
		addMembers(composite, classType, lists.nonstaticMembers(), type, myMembers);

		if (!DefaultCompositeMember.applyDataTypeMembers(composite, false, isClass, size, myMembers,
			msg -> reconstructionWarn(msg, hasHiddenComponents(lists)),
			applicator.getCancelOnlyWrappingMonitor())) {
			clearComponents(composite);
		}
	}
Constructor for composite type applier, for transforming a composite into a Ghidra DataType
@param applicator {@link DefaultPdbApplicator} for which this class is working
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/CompositeTypeApplier.java