private void populatePrototypes() {
		try {
			// Prior to language upgrade force use of invalid prototypes
			boolean forceInvalidPrototypes = program.isLanguageUpgradePending();

			RecordIterator iter = protoAdapter.getRecords();
			while (iter.hasNext()) {
				DBRecord record = iter.next();

				int protoID = (int) record.getKey();

				if (protoArray.get(protoID) == null) {
					InstructionPrototype proto =
						forceInvalidPrototypes ? new InvalidPrototype(language)
								: createPrototype(protoID, record);
					protoArray.put(protoID, proto);
					protoHt.put(proto, protoID);
				}
			}
			nextKey = (int) protoAdapter.getKey();
		}
		catch (IOException e) {
			program.dbError(e);
		}
	}
Get the prototype with the given ID.
@param protoID prototype ID
@return instruction prototype or null if not found
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/code/PrototypeManager.java