@Override
    public boolean removeAll(Collection<?> c) {
        if (c == null || c.isEmpty()) {
            return false;
        }
        boolean removedAll = true;
        for (Object element : c) {
            if (element == null) {
                removedAll = false;
            }
        }
        return removedAll && listWrapper.removeAll(c);
    }