private static ExtendedCell reckonDelta(final ExtendedCell delta,
      final ExtendedCell currentCell, final byte[] columnFamily, final long now, Mutation mutation,
      Function<ExtendedCell, byte[]> supplier) throws IOException {
      // Forward any tags found on the delta.
      List<Tag> tags = TagUtil.carryForwardTags(delta);
      if (currentCell != null) {
        tags = TagUtil.carryForwardTags(tags, currentCell);
        tags = TagUtil.carryForwardTTLTag(tags, mutation.getTTL());
        byte[] newValue = supplier.apply(currentCell);
        return ExtendedCellBuilderFactory.create(CellBuilderType.SHALLOW_COPY)
          .setRow(mutation.getRow(), 0, mutation.getRow().length)
          .setFamily(columnFamily, 0, columnFamily.length)
          // copy the qualifier if the cell is located in shared memory.
          .setQualifier(CellUtil.cloneQualifier(delta))
          .setTimestamp(Math.max(currentCell.getTimestamp() + 1, now))
          .setType(KeyValue.Type.Put.getCode()).setValue(newValue, 0, newValue.length)
          .setTags(TagUtil.fromList(tags)).build();
      } else {
        tags = TagUtil.carryForwardTTLTag(tags, mutation.getTTL());
        PrivateCellUtil.updateLatestStamp(delta, now);
        ExtendedCell deltaCell = (ExtendedCell) delta;
        return CollectionUtils.isEmpty(tags)
          ? deltaCell
          : PrivateCellUtil.createCell(deltaCell, tags);
      }
    }
Reckon the Cells to apply to WAL, memstore, and to return to the Client in passed column
family/Store. Does Get of current value and then adds passed in deltas for this Store
returning the result.
@param mutation The encompassing Mutation object
@param deltas   Changes to apply to this Store; either increment amount or data to append
@param results  In here we accumulate all the Cells we are to return to the client. If null,
                client doesn't want results returned.
@return Resulting Cells after <code>deltas</code> have been applied to current values. Side
        effect is our filling out of the <code>results</code> List.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java