@Test
public void testEntrySet() {

    Set<Entry<String, List<String>>> entries = map.entrySet();
    map.put("k", newArrayList("a", "b"));
    map.put("e", newArrayList("c", "d"));
    map.put("Y", newArrayList("e", "f"));
    assertEquals(3, map.size());
    assertEquals(3, entries.size());
    assertTrue(entries.remove(new java.util.Map.Entry<String, List<String>>() {
        public String getKey() {
            return "E";
        }
        public List<String> getValue() {
            return Arrays.asList("c", "d");
        }
        public List<String> setValue(List<String> value) {
            return Arrays.asList("c", "d");
        }
    }));
    assertEquals(2, map.size());
    assertEquals(2, entries.size());
    assertTrue(map.containsKey("K"));
    assertTrue(map.containsKey("y"));
    assertFalse(map.containsKey("e"));
    entries.clear();
    assertEquals(0, map.size());
    assertEquals(0, entries.size());
}