code: public int read(byte b[], int off, int len) throws IOException {
  	if (off + len > b.length) {
  	    len = b.length - off;
  	}
  	if (len < 0) {
  	    return -1;
  	}
  	if (len == 0) {
  	    return 0;
  	}
  	int n = blob.read(b, off, pos, len);
  	if (n > 0) {
  	    pos += n;
  	    return n;
  	}
  	return -1;
      }
docs: Read slice of byte array from blob.
  @param b byte array to be filled
  @param off offset into byte array
  @param len length to be read
  @return number of bytes read