@Override
  public void readFields(DataInput dataInput) throws IOException {
    if (dataInput.readBoolean()) {
      rowId = dataInput.readUTF();
    }
    int size = dataInput.readInt();
    for (int i = 0; i < size; i++) {
      int cfLength = dataInput.readInt();
      byte[] cfData = new byte[cfLength];
      dataInput.readFully(cfData, 0, cfLength);
      Text cf = new Text(cfData);
      int cqLength = dataInput.readInt();
      byte[] cqData = new byte[cqLength];
      dataInput.readFully(cqData, 0, cqLength);
      Text cq = new Text(cqData);
      int valSize = dataInput.readInt();
      byte[] val = new byte[valSize];
      for (int j = 0; j < valSize; j++) {
        val[j] = dataInput.readByte();
      }
      tuples.add(new ColumnTuple(cf, cq, val));
    }
  }
@return byte [] value for first tuple containing fam and qual or null if no match.
accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/AccumuloHiveRow.java