### Question:
XPathRecord implements Record { @Override public MutableRecord makeMutable() { MapRecord mr = new MapRecord(); for (String field : xpath_map.keySet()) { mr.addField(field, this.getValues(field)); } return mr; } XPathRecord(Document doc, Map<String, String> xpath_string_map); @Override List<Value> getValues(String field); @Override MutableRecord makeMutable(); @Override boolean isMutable(); @Override boolean hasField(String field); @Override Set<String> getFields();  }### Answer:
@Test public void testMakeMutable() { MutableRecord mut_rec = rec.makeMutable(); assertTrue(mut_rec.isMutable()); for(String field : mp.keySet()) { List<Value> im_rec_val = rec.getValues(field); List<Value> mu_rec_val = mut_rec.getValues(field); assertEquals(im_rec_val.size(), mu_rec_val.size()); for (int i = 0; i < im_rec_val.size(); i++) { assertEquals(im_rec_val.get(i), mu_rec_val.get(i)); } } }