### Question:
MapRecord implements MutableRecord { @Override public boolean addValue(String field, Value value) { if (!records.containsKey(field)) { ArrayList<Value> vals = new ArrayList<Value>(); vals.add(value); return this.addField(field, vals); } if (records.get(field).contains(value)) { return false; } records.get(field).add(value); return true; } MapRecord(); @Override List<Value> getValues(String field); @Override MutableRecord makeMutable(); @Override boolean isMutable(); @Override boolean addField(String field, List<Value> values); @Override boolean addValue(String field, Value value); @Override boolean removeField(String field); @Override boolean removeValue(String field, Value value); @Override boolean updateField(String field, List<Value> value); @Override boolean updateValue(String field, Value old_value, Value new_value); @Override boolean hasField(String field); @Override Set<String> getFields();  }### Answer:
@Test public void testAddValue() { rec.addField("test", val); Value new_val = new StringValue("baz"); assertTrue(rec.addValue("test", new_val)); assertTrue(rec.getValues("test").contains(new_val)); assertFalse(rec.addValue("test", new StringValue("baz"))); assertFalse(rec.addValue("test", new_val)); }