private static ExtendedCell convertKv(ExtendedCell kv, Map<byte[], byte[]> cfRenameMap) {
    if (cfRenameMap != null) {
      // If there's a rename mapping for this CF, create a new KeyValue
      byte[] newCfName = cfRenameMap.get(CellUtil.cloneFamily(kv));
      if (newCfName != null) {
        List<Tag> tags = PrivateCellUtil.getTags(kv);
        kv = new KeyValue(kv.getRowArray(), // row buffer
          kv.getRowOffset(), // row offset
          kv.getRowLength(), // row length
          newCfName, // CF buffer
          0, // CF offset
          newCfName.length, // CF length
          kv.getQualifierArray(), // qualifier buffer
          kv.getQualifierOffset(), // qualifier offset
          kv.getQualifierLength(), // qualifier length
          kv.getTimestamp(), // timestamp
          KeyValue.Type.codeToType(kv.getTypeByte()), // KV Type
          kv.getValueArray(), // value buffer
          kv.getValueOffset(), // value offset
          kv.getValueLength(), // value length
          tags.size() == 0 ? null : tags);
      }
    }
    return kv;
  }
Attempt to filter out the keyvalue
@param c {@link Cell} on which to apply the filter
@return <tt>null</tt> if the key should not be written, otherwise returns the original
        {@link Cell}
hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/Import.java