code: public void addAll( T[] array , int first , int length ) {
  		if( length <= 0 )
  			return;
  
  		Element<T> a = requestNew();
  		a.object = array[first];
  
  		if( this.first == null ) {
  			this.first = a;
  		} else if( last != null ) {
  			last.next = a;
  			a.previous = last;
  		}
  
  		for (int i = 1; i < length; i++) {
  			Element<T> b = requestNew();
  			b.object =  array[first+i];
  
  			a.next = b;
  			b.previous = a;
  			a = b;
  		}
  
  		last = a;
  		size += length;
  	}
docs: Adds the specified elements from array into this list
  @param array The array
  @param first First element to be added
  @param length The number of elements to be added