private void populateElementTable() {
		tableElements = new ArrayList<>();
		CompilerSpec compilerSpec = program.getCompilerSpec();
		PrototypeModel[] models = compilerSpec.getAllModels();
		for (PrototypeModel model : models) {
			SpecExtension.Type type = SpecExtension.Type.PROTOTYPE_MODEL;
			Status status = Status.CORE;
			if (model.isProgramExtension()) {
				status = model.isErrorPlaceholder() ? Status.EXTENSION_ERROR : Status.EXTENSION;
			}
			if (model instanceof PrototypeModelMerged) {
				type = SpecExtension.Type.MERGE_MODEL;
			}
			CompilerElement compEl = new CompilerElement(model.getName(), type, status);
			tableElements.add(compEl);
		}
		PcodeInjectLibrary injectLibrary = compilerSpec.getPcodeInjectLibrary();
		String[] callFixupNames = injectLibrary.getCallFixupNames();
		for (String fixupName : callFixupNames) {
			SpecExtension.Type type = SpecExtension.Type.CALL_FIXUP;
			Status status = Status.CORE;
			if (injectLibrary.hasProgramPayload(fixupName, InjectPayload.CALLFIXUP_TYPE)) {
				status = Status.EXTENSION;
				if (injectLibrary.getPayload(InjectPayload.CALLFIXUP_TYPE, fixupName)
						.isErrorPlaceholder()) {
					status = Status.EXTENSION_ERROR;
				}
			}
			CompilerElement compEl = new CompilerElement(fixupName, type, status);
			tableElements.add(compEl);
		}
		String[] callOtherNames = injectLibrary.getCallotherFixupNames();
		for (String fixupName : callOtherNames) {
			SpecExtension.Type type = SpecExtension.Type.CALLOTHER_FIXUP;
			Status status = Status.CORE;
			if (injectLibrary.hasProgramPayload(fixupName, InjectPayload.CALLOTHERFIXUP_TYPE)) {
				status = Status.EXTENSION;
				if (injectLibrary.isOverride(fixupName, InjectPayload.CALLOTHERFIXUP_TYPE)) {
					status = Status.EXTENSION_OVERRIDE;
				}
				if (injectLibrary.getPayload(InjectPayload.CALLOTHERFIXUP_TYPE, fixupName)
						.isErrorPlaceholder()) {
					status = Status.EXTENSION_ERROR;
				}
			}
			CompilerElement compEl = new CompilerElement(fixupName, type, status);
			tableElements.add(compEl);
		}
		tableElements.sort(null);
	}
Task for applying any accumulated changes in the list of CompilerElements for this Panel to the Program.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/app/plugin/processors/sleigh/SpecExtensionPanel.java