public InputStream readDataBlockDecompressed(int dataBlockIndex) throws IOException {
		Integer index = blockPointerTable.get(dataBlockIndex);
		Integer length = compressedBlockSizes.get(dataBlockIndex);
		byte[] compressedBytes = provider.readBytes(index, length);
		InputStream compressedInputStream = new ByteArrayInputStream(compressedBytes);
		ZLIB zlib = new ZLIB();

		ByteArrayOutputStream decompressedOutputStream =
			zlib.decompress(compressedInputStream, CramFsConstants.DEFAULT_BLOCK_SIZE);
		return new ByteArrayInputStream(decompressedOutputStream.toByteArray());
	}
Sends compressed data block to be uncompressed.
@param dataBlockIndex the index of the block to read.
@return Uncompressed data as a ByteArrayInputStream.
@throws IOException if an error occurs when reading the decompressed data block.
Ghidra/Features/FileFormats/src/main/java/ghidra/file/formats/cramfs/CramFsBlockReader.java