code: @Override
  	public boolean addAll(Collection<? extends E> c) {
  		boolean ret = super.addAll(c);
  		Collections.sort((List) this);
  		return ret;
  	}
docs: Appends all of the elements in the specified collection to the current
  collection in place based on natural order. 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
  - collection containing elements to be added to this list
  @return true if this list changed as a result of the call
  @throws NullPointerException
  - if the specified collection is null