docs: public int read(long pos) {
      if (pos >= size) {
        return -1;
      }
  
      byte[] block = blocks[blockIndex(pos)];
      int off = offsetInBlock(pos);
      return UnsignedBytes.toInt(block[off]);
    }