@Override
    public boolean containsAll(Collection<?> c) {
        Iterator<?> iterator = c.iterator();

        while (iterator.hasNext()) {
            if (!contains(iterator.next())) {
                return false;
            }
        }

        return true;
    }