void scheduleTodo(RecordNumber recordNumber) {
		MsTypeApplier applier = applicator.getTypeApplier(recordNumber);
		if (!(applier instanceof MsDataTypeApplier dataTypeApplier)) {
			// Return without scheduling... only want to schedule records that have a legitimate
			//  data type to store
			return;
		}
		todoStack.push(recordNumber);
	}
Method used to schedule another type (indicated by the record number).  This scheduled
 type is put on top of a stack of types to process, pushing what was the current type
 being processed down.  If the type indicated by the record number is already on the stack,
 it is lifted to the top of the stack.  Note that composite types (by virtue of the fact
 that impls for these are created and stored in the applicator map, but not filled in) will
 not be lifted to the top of the stack.  This prevents oscillation on the stack and also
 is the mechanism by which dependency cycles are broken
@param recordNumber the record number to be scheduled
Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/pdbapplicator/MultiphaseDataTypeResolver.java