protected void checkAndPrepareMutation(Mutation mutation, final long timestamp)
      throws IOException {
      region.checkRow(mutation.getRow(), "batchMutate");
      if (mutation instanceof Put) {
        // Check the families in the put. If bad, skip this one.
        checkAndPreparePut((Put) mutation);
        region.checkTimestamps(mutation.getFamilyCellMap(), timestamp);
      } else if (mutation instanceof Delete) {
        region.prepareDelete((Delete) mutation);
      } else if (mutation instanceof Increment || mutation instanceof Append) {
        region.checkFamilies(mutation.getFamilyCellMap().keySet(), mutation.getDurability());
      }
    }
Helper method that checks and prepares only one mutation. This can be used to implement
{@link #checkAndPrepare()} for entire Batch. NOTE: As CP
prePut()/preDelete()/preIncrement()/preAppend() hooks may modify mutations, this method
should be called after prePut()/preDelete()/preIncrement()/preAppend() CP hooks are run for
the mutation
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java