@Override
    public boolean addAll( Collection<? extends E> c ) {
        vacuum();

        int num = c.size();
        if( num == 0 ) {
            return false;
        }

        if( num > mThreshold ) {
            int targetCap = (int)(num / mLoadFactor + 1);
            if( targetCap > MAXIMUM_CAPACITY ) {
                targetCap = MAXIMUM_CAPACITY;
            }

            int newCap = mBuckets.length;
            while( newCap < targetCap ) {
                newCap <<= 1;
            }

            if( newCap > mBuckets.length ) {
                resize( newCap );
            }
        }

        boolean modified = false;

        for( E element : c ) {
            if( element != null ) {
                modified |= doAdd( element );
            }
        }

        return modified;
    }