code: @Override
      public void setInput(byte[] b, int off, int len) throws NullPointerException {
          if(lz_stream == 0) reset();
          if(b == null) {
              throw new NullPointerException("Input is null");
          }
          if(len <= 0) {
              throw new NullPointerException("Input buffer length is zero.");
          }
          inputBuffer = b;
          inputBufferOffset = off;
          inputBufferLength = len;
  
      }
docs: Sets input data for compression. This should be called whenever
  needsInput() returns true indicating that more input data is required.
  @param b the input data bytes
  @param off the start offset of the data
  @param len the length of the data
  @see IntelDeflater#needsInput