question: public int addAllAbsent ( Collection c ) { int numNew = c . size ( ) ; if ( numNew == 0 ) return 0 ; synchronized ( this ) { Object [ ] elements = getArray ( ) ; int len = elements . length ; Object [ ] temp = new Object [ numNew ] ; int added = 0 ; for ( Iterator itr = c . iterator ( ) ; itr . hasNext ( ) ; ) { Object e = itr . next ( ) ; if ( indexOf ( e , elements , 0 , len ) < 0 && indexOf ( e , temp , 0 , added ) < 0 ) temp [ added ++ ] = e ; } if ( added != 0 ) { Object [ ] newElements = new Object [ len + added ] ; System . arraycopy ( elements , 0 , newElements , 0 , len ) ; System . arraycopy ( temp , 0 , newElements , len , added ) ; setArray ( newElements ) ; } return added ; } }
target:  Appends all of the elements in the specified collection that are not already contained in this list, to the end of this list, in the order that they are returned by the specified collection's iterator.