protected void set(InternalTracePlatform platform, InstructionPrototype prototype,
			ProcessorContextView context, int forcedLengthOverride) {
		this.platformKey = platform.getIntKey();
		// NOTE: Using "this" for the MemBuffer seems a bit precarious.
		DBTraceGuestLanguage languageEntry = platform.getLanguageEntry();
		this.prototypeKey =
			(int) space.manager.findOrRecordPrototype(prototype, languageEntry, this, context)
					.getKey();
		this.flowOverride = FlowOverride.NONE; // flags field is already consistent
		this.lengthOverride = 0;
		update(PLATFORM_COLUMN, PROTOTYPE_COLUMN, FLAGS_COLUMN);

		if (forcedLengthOverride != 0) {
			updateLengthOverride(forcedLengthOverride);
		}

		// TODO: Can there be more in this context than the context register???
		doSetPlatformMapping(platform);
		this.prototype = prototype;
	}
Set the fields of this record

@param platform the platform
@param prototype the instruction prototype
@param context the context for locating or creating the prototype entry
@param forcedLengthOverride reduced instruction byte-length (1..7) or 0 to use default length
Ghidra/Debug/Framework-TraceModeling/src/main/java/ghidra/trace/database/listing/DBTraceInstruction.java