@Override
	public int putBytes(long offsetInMemBlock, byte[] b, int off, int len) throws IOException {
		long offsetInSubBlock = offsetInMemBlock - subBlockOffset;
		long available = subBlockLength - offsetInSubBlock;
		len = (int) Math.min(len, available);
		return fileBytes.putBytes(fileBytesOffset + offsetInSubBlock, b, off, len);
	}
Class for handling {@link FileBytes} memory sub blocks (blocks whose bytes are backed by a FileBytes object
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/FileBytesSubMemoryBlock.java