code: @Override
    void readJournal(PageServiceImpl pageActor,
                     ReadStream is, 
                     byte[] buffer, int offset, RowCursor cursor)
      throws IOException
    {
      int len = BitsUtil.readInt16(is);
  
      if (len == 0) {
        BitsUtil.writeInt(buffer, offset + offset(), 0);
        return;
      }
      
      if ((len & LARGE_BLOB_MASK) != 0) {
        len = len & ~LARGE_BLOB_MASK;
        
        if (len != 4) {
          throw new IllegalStateException();
        }
        
        int id = BitsUtil.readInt(is);
        
        PageBlob pageBlob = pageActor.getBlobPage(id);
  
        if (pageBlob != null) {
          BlobOutputStream blob = new BlobOutputStream(cursor, this, id);
        
          cursor.setBlob(index(), blob);
        }
  
        return;
      }
      
      TempBuffer tBuf = TempBuffer.create();
      byte []tempBuffer = tBuf.buffer();
  
      is.readAll(tempBuffer, 0, len);
        
      BlobOutputStream blob = new BlobOutputStream(cursor,
                                                   this,
                                                   tBuf,
                                                   len);
      
      cursor.setBlob(index(), blob);
    }
docs: Reads the blob from the journal into the working cursor.