@Override
    public void write(ImmutableBytesWritable tableName, Mutation action) throws IOException {
      BufferedMutator mutator = getBufferedMutator(tableName);
      // The actions are not immutable, so we defensively copy them
      if (action instanceof Put) {
        Put put = new Put((Put) action);
        put.setDurability(useWriteAheadLogging ? Durability.SYNC_WAL : Durability.SKIP_WAL);
        mutator.mutate(put);
      } else if (action instanceof Delete) {
        Delete delete = new Delete((Delete) action);
        mutator.mutate(delete);
      } else throw new IllegalArgumentException("action must be either Delete or Put");
    }
Writes an action (Put or Delete) to the specified table. the table being updated. the update,
either a put or a delete. if the action is not a put or a delete.
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.java