static ArrayList<Put> createPuts(byte[][] rows, byte[][] families, byte[][] qualifiers,
    byte[] value) throws IOException {
    Put put;
    ArrayList<Put> puts = new ArrayList<>();

    for (int row = 0; row < rows.length; row++) {
      put = new Put(rows[row]);
      for (int fam = 0; fam < families.length; fam++) {
        for (int qual = 0; qual < qualifiers.length; qual++) {
          KeyValue kv = new KeyValue(rows[row], families[fam], qualifiers[qual], qual, value);
          put.add(kv);
        }
      }
      puts.add(put);
    }

    return puts;
  }
Make puts to put the input value into each combination of row, family, and qualifier
@param rows       the rows to use
@param families   the families to use
@param qualifiers the qualifiers to use
@param value      the values to use
@return the dot product of the given rows, families, qualifiers, and values
@throws IOException if there is a problem creating one of the Put objects
hbase-server/src/test/java/org/apache/hadoop/hbase/TestPartialResultsFromClientSide.java