@Override
    public boolean containsAll(Collection<?> c) {
        return c.stream()
                .map(map::containsKey)
                .reduce(Boolean::logicalAnd)
                .orElse(true);
    }
@Test
    public void testContainsAll() {
        ExtendedSet<TestValue> set = new ExtendedSet<>(Maps.newConcurrentMap());
        TestValue val = new TestValue("foo", 1);
        assertTrue(set.add(val));
        TestValue nextval = new TestValue("goo", 2);
        assertTrue(set.add(nextval));
        ArrayList<TestValue> vals = new ArrayList<TestValue>();
        vals.add(val);
        vals.add(nextval);
        assertTrue(set.containsAll(vals));
    }