class PersistentSet implements Set<E> {

    @Override
    public boolean retainAll(Collection<?> c) {
        boolean changed = false;
        for (byte[] item : items) {
            E deserialized = serializer.decode(item);
            if (!c.contains(deserialized)) {
                changed = items.remove(item) || changed;
            }
        }
        return changed;
    }

    public  PersistentSet(org.onosproject.store.service.Serializer serializer, DB database, String name);

}