code: public PngByteArrayOutputStream inflate(PngByteArrayOutputStream bytes) throws IOException {
  		try (final PngByteArrayOutputStream inflatedOut = new PngByteArrayOutputStream();
  		     final InflaterInputStream inflater = new InflaterInputStream(new ByteArrayInputStream(bytes.get(), 0, bytes.len()))) {
  
  			int readLength;
  			final byte[] block = new byte[8192];
  
  			while ((readLength = inflater.read(block)) != -1) {
  				inflatedOut.write(block, 0, readLength);
  			}
  			return inflatedOut;
  		}
  	}
docs: Inflate (decompress) the compressed image data
  
  @param bytes A stream containing the compressed image data
  @return A byte array containing the uncompressed data