question: public synchronized boolean remove ( T item ) { int pos = getPos ( item ) ; if ( pos < 0 ) return false ; int oldLength = array . length ; int newLength = oldLength - 1 ; T newArray [ ] = createArray ( newLength ) ; if ( pos > 0 ) System . arraycopy ( array , 0 , newArray , 0 , pos ) ; if ( pos < newLength ) System . arraycopy ( array , pos + 1 , newArray , pos , newLength - pos ) ; array = newArray ; return true ; }
target:  Removes the first occurance of the item. If the item is added multiple times, then it must be removed as many times.