code: @Override
    public int read(byte[] b) throws IOException, StreamIntegrityException {
      Validate.notNull(b, "Array cannot be null.");
  
      return read(b, 0, b.length);
    }
docs: The {@code read(b)} method for class {@code AES256JNCryptorInputStream} has
  the same effect as:
  <p>
  {@code read(b, 0, b.length)}
  
  @param b
  the buffer into which the data is read.
  @return the total number of bytes read into the buffer, or {@code -1} if
  there is no more data because the end of the stream has been
  reached.
  
  @throws IOException
  if an I/O error occurs.
  @throws StreamIntegrityException
  if the final byte has been read and the HMAC fails validation