code: public boolean addAll(Collection<? extends E> c) {
      	boolean modified = false;
      	for(E object: c) {
      		if(object!=null && !contains(object)) {
      			modified = add(object);
      		}
      	}
      	return modified;
      }
docs: Appends all of the elements in the specified Collection to the end of
  this list, in the order that they are returned by the
  specified Collection's Iterator.  The behavior of this operation is
  undefined if the specified Collection is modified while the operation
  is in progress.  (This implies that the behavior of this call is
  undefined if the specified Collection is this list, and this
  list is nonempty.)
  
  @param c the elements to be inserted into this list.
  @return <tt>true</tt> if this list changed as a result of the call.
  @throws    NullPointerException if the specified collection is null.