private static void buildNoDataRegionAction(final Put put,
    final List<ExtendedCellScannable> cells, final RegionAction.Builder regionActionBuilder,
    final ClientProtos.Action.Builder actionBuilder, final MutationProto.Builder mutationBuilder)
    throws IOException {
    cells.add(put);
    regionActionBuilder.addAction(actionBuilder
      .setMutation(ProtobufUtil.toMutationNoData(MutationType.PUT, put, mutationBuilder)));
  }
Create a protocol buffer multirequest with NO data for a list of actions (data is carried
otherwise than via protobuf). This means it just notes attributes, whether to write the WAL,
etc., and the presence in protobuf serves as place holder for the data which is coming along
otherwise. Note that Get is different. It does not contain 'data' and is always carried by
protobuf. We return references to the data by adding them to the passed in <code>data</code>
param.
<p>
Propagates Actions original index.
<p>
The passed in multiRequestBuilder will be populated with region actions.
@param regionName          The region name of the actions.
@param actions             The actions that are grouped by the same region name.
@param cells               Place to stuff references to actual data.
@param multiRequestBuilder The multiRequestBuilder to be populated with region actions.
@param regionActionBuilder regionActionBuilder to be used to build region action.
@param actionBuilder       actionBuilder to be used to build action.
@param mutationBuilder     mutationBuilder to be used to build mutation.
@param nonceGroup          nonceGroup to be applied.
@param indexMap            Map of created RegionAction to the original index for a
                           RowMutations/CheckAndMutate within the original list of actions
hbase-client/src/main/java/org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java