public Address getMappedSourceAddress(Address mappedSourceBaseAddress,
			long offsetInSubBlock)
			throws AddressOverflowException {
		if (offsetInSubBlock < 0) {
			throw new IllegalArgumentException("negative offset");
		}
		long sourceOffset = offsetInSubBlock;
		if (!isOneToOneMapping()) {
			sourceOffset = (mappedSourceByteCount * (offsetInSubBlock / mappedByteCount)) +
				(offsetInSubBlock % mappedByteCount);
		}
		return mappedSourceBaseAddress.addNoWrap(sourceOffset);
	}
Calculate the mapped source address for a specified offset with the mapped sub-block.
@param mappedSourceBaseAddress mapped source base address for sub-block
@param offsetInSubBlock byte offset within sub-block to be mapped into source
@return mapped source address
@throws AddressOverflowException if offset in sub-block produces a wrap condition in
the mapped source address space.
Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/mem/ByteMappingScheme.java