@SuppressWarnings("unchecked") private static void putMapEntry( Message.Builder builder, FieldDescriptor field, Object key, Object value) { Message.Builder entryBuilder = builder.newBuilderForField(field); FieldDescriptor keyField = entryBuilder.getDescriptorForType().findFieldByName("key"); FieldDescriptor valueField = entryBuilder.getDescriptorForType().findFieldByName("value"); entryBuilder.setField(keyField, key); entryBuilder.setField(valueField, value); List<Message> entries = removeEntryWithKeyIfPresent((List<Message>) builder.getField(field), key); entries.add(entryBuilder.build()); builder.setField(field, entries); }
@SuppressWarnings("unchecked") private static void putMapEntry( Message.Builder builder, FieldDescriptor field, Object key, Object value) { Message.Builder entryBuilder = builder.newBuilderForField(field); FieldDescriptor keyField = entryBuilder.getDescriptorForType().findFieldByName("key"); FieldDescriptor valueField = entryBuilder.getDescriptorForType().findFieldByName("value"); entryBuilder.setField(keyField, key); entryBuilder.setField(valueField, value); List<Message> entries = removeEntryWithKeyIfPresent((List<Message>) builder.getField(field), key); entries.add(entryBuilder.build()); builder.setField(field, entries); }