@Override
    public List<V> removeAll(Object key) {
        return (List<V>) get(removeAllAsync(key));
    }
@Test
    public void testRemoveAll() {
        RListMultimap<String, String> map = redisson.getListMultimap("test1");
        map.put("0", "1");
        map.put("0", "1");
        map.put("0", "2");
        map.put("0", "3");

        RList<String> set = map.get("0");
        set.removeAll(Arrays.asList("4", "5"));
        assertThat(map.size()).isEqualTo(4);

        set.removeAll(Arrays.asList("3"));
        assertThat(map.size()).isEqualTo(3);

        List<String> values = map.removeAll("0");
        assertThat(values).containsExactly("1", "1", "2");
        assertThat(map.size()).isZero();

        List<String> values2 = map.removeAll("0");
        assertThat(values2).isEmpty();
    }