@Override
	public FileBytes createFileBytes(String filename, long offset, long size, InputStream is,
			TaskMonitor monitor) throws IOException, CancelledException {
		long oldProgressMax = 0;
		long oldProgress = 0;
		if (monitor != null) {
			oldProgressMax = monitor.getMaximum();
			oldProgress = monitor.getProgress();
		}
		lock.acquire();
		try {
			return fileBytesAdapter.createFileBytes(filename, offset, size, is, monitor);
		}
		catch (IOCancelledException e) {
			throw new CancelledException();
		}
		finally {
			lock.release();
			if (monitor != null) {
				monitor.setMaximum(oldProgressMax);
				monitor.setProgress(oldProgress);
			}
		}
	}
Converts the given address range back from the source range back to the mapped range. NOTE:
It is important that the specified mappedSourceRange is restricted to the mapped source area
of the specified mappedBlock.

@param mappedBlock mapped memory block
@param mappedSourceRange source range which maps into mappedBlock.
@return mapped range or null if source range not mapped to block
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/MemoryMapDB.java