@Override
	DBRecord createSubBlockRecord(long parentKey, long startingOffset, long length, byte type,
			int data1, long data2) throws IOException {

		DBRecord record = V3_SUB_BLOCK_SCHEMA.createRecord(subBlockTable.getKey());
		record.setLongValue(V3_SUB_PARENT_ID_COL, parentKey);
		record.setByteValue(V3_SUB_TYPE_COL, type);
		record.setLongValue(V3_SUB_LENGTH_COL, length);
		record.setLongValue(V3_SUB_START_OFFSET_COL, startingOffset);
		record.setIntValue(V3_SUB_INT_DATA1_COL, data1);
		record.setLongValue(V3_SUB_LONG_DATA2_COL, data2);
		subBlockTable.putRecord(record);

		return record;
	}
MemoryMap adapter for version 3.
This version introduces the concept of sub memory blocks and FileBytes
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/MemoryMapDBAdapterV3.java