private static void inflateData(byte[] compressedData, byte[] data) throws IOException {

		Inflater inflater = new Inflater(true);
		inflater.setInput(compressedData, 0, compressedData.length);

		try {
			int off = 0;
			while (!inflater.finished() && off < data.length) {
				off += inflater.inflate(data, off, data.length - off);
				if (inflater.needsDictionary()) { // unexpected
					throw new IOException("DataBuffer dictionary error");
				}
			}
			if (!inflater.finished()) {
				throw new IOException("DataBuffer inflate size error");
			}
		}
		catch (DataFormatException e) {
			throw new IOException("DataBuffer inflation failed", e);
		}
	}
Inflate compressedData into a properly sized data array.  
@param compressedData array containing compressed data
@param data target data array size to receive fully inflated data.
@throws IOException
Ghidra/Framework/DB/src/main/java/db/buffers/DataBuffer.java