public ExtendedCell getCell() {
    return cell;
  }
The MobCell will maintain a {@link Cell} and a {@link StoreFileScanner} inside. Now, the mob cell
is backend by NIO ByteBuffers which are allocated from ByteBuffAllocator, so we cannot just read
the cell and close the MOB file scanner because the MOB file scanner closing will deallocate the
NIO ByteBuffers, which resulting memory leak.
<p>
Actually, the right solution is: <br>
1. Read the normal cell; <br>
2. Parse the value of normal cell and get MOB fileName,offset,length; <br>
3. Open scanner to read the mob value; <br>
4. Construct the response cell whose key is from the normal cell and value is from the mob cell.
<br>
5. Ship the response cell to HBase client. <br>
6. Release both normal cell's block and mob cell's block. <br>
<p>
For mob cell, the block releasing just means closing the the mob scanner, so here we need to keep
the {@link StoreFileScanner} inside and close only when we're ensure that the MobCell has been
shipped to RPC client.
hbase-server/src/main/java/org/apache/hadoop/hbase/mob/MobCell.java