@Override
    public Object extractAndConvert(FieldDescriptor field, Message msg) {
      int count = msg.getRepeatedFieldCount(field);
      if (count == 0) {
        return null;
      }
      Map<Object, Object> val = new HashMap<>(count);
      for (int j = 0; j < count; ++j) {
        Object[] entry = (Object[])convertor.convert(msg.getRepeatedField(field, j));
        val.put(entry[0], entry[1]);
      }
      return val;
    }
Convert the given writable to a message.
@param writable The writable object containing the message.
@return The converted message object.
@throws SerDeException
ql/src/java/org/apache/hadoop/hive/ql/io/protobuf/ProtobufSerDe.java