@Test
public void removeIf() throws Exception {

    multiMap.put("first", new TestEntity("1", "v1"));
    multiMap.put("first", new TestEntity("2", "v2"));
    assertThat(multiMap.removeIf(
            "first", new TestEntity("1", "foo"),
            existing -> "foo".equals(existing.value))
    ).isFalse();
    assertThat(multiMap.get("first")).hasSize(2);
    assertThat(multiMap.removeIf(
            "first", new TestEntity("1", "foo"),
            existing -> "v1".equals(existing.value))
    ).isTrue();
    assertThat(multiMap.get("first")).hasSize(1)
            .doesNotContain(new TestEntity("1", "v1"));
}