@Override
	protected SubMemoryBlock split(long memBlockOffset) throws IOException {
		// convert from offset in block to offset in this sub block
		long offset = memBlockOffset - subBlockOffset;
		long newLength = subBlockLength - offset;
		subBlockLength = offset;
		record.setLongValue(MemoryMapDBAdapter.SUB_LENGTH_COL, subBlockLength);
		adapter.updateSubBlockRecord(record);

		DBRecord newSubRecord = adapter.createSubBlockRecord(-1, 0, newLength,
			MemoryMapDBAdapter.SUB_TYPE_UNINITIALIZED, 0, 0);

		return new UninitializedSubMemoryBlock(adapter, newSubRecord);
	}
Implementation of SubMemoryBlock for uninitialized blocks.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/UninitializedSubMemoryBlock.java