public boolean removeAll(Bag<E> bag)
    {
        boolean modified = false;
        
        for (int i = 0; i < bag.size(); ++i)
        {
            Object o1 = bag.get(i);
            
            for (int j = 0; j < size; ++j)
            {
                Object o2 = data[j];
                
                if (o1 == o2)
                {
                    remove(j);
                    j--;
                    modified = true;
                    break;
                }
            }
        }
        
        return modified;
    }