@Override
	public synchronized long seek(long offset, int seekOrigin) throws SevenZipException {
		try {
			switch (seekOrigin) {
				case SEEK_SET:
					setPos(offset);
					break;

				case SEEK_CUR:
					setPos(position + offset);
					break;

				case SEEK_END:
					setPos(bp.length() + offset);
					break;

				default:
					throw new RuntimeException("Seek: unknown origin: " + seekOrigin);
			}
		}
		catch (IOException e) {
			throw new SevenZipException(e);
		}

		return position;
	}
Adapter from Ghidra's {@link ByteProvider} to SZ's {@link IInStream}
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/sevenzip/SZByteProviderStream.java