default long incrementColumnValue(byte[] row, byte[] family, byte[] qualifier, long amount,
    Durability durability) throws IOException {
    Increment increment =
      new Increment(row).addColumn(family, qualifier, amount).setDurability(durability);
    Cell cell = increment(increment).getColumnLatestCell(family, qualifier);
    return Bytes.toLong(cell.getValueArray(), cell.getValueOffset(), cell.getValueLength());
  }
Atomically increments a column value. If the column value already exists and is not a
big-endian long, this could throw an exception. If the column value does not yet exist it is
initialized to <code>amount</code> and written to the specified column.
<p>
Setting durability to {@link Durability#SKIP_WAL} means that in a fail scenario you will lose
any increments that have not been flushed.
@param row        The row that contains the cell to increment.
@param family     The column family of the cell to increment.
@param qualifier  The column qualifier of the cell to increment.
@param amount     The amount to increment the cell with (or decrement, if the amount is
                  negative).
@param durability The persistence guarantee for this increment.
@return The new value, post increment.
@throws IOException if a remote or network exception occurs.
hbase-client/src/main/java/org/apache/hadoop/hbase/client/Table.java