public long addAndGet(T obj,long delta){
  for (; ; ) {
    long current=get(obj);
    long next=current + delta;
    if (compareAndSet(obj,current,next))     return next;
  }
}

public long addAndGet ( T obj , long delta ) { for ( ; ; ) { long current = get ( obj ) ; long next = current + delta ; if ( compareAndSet ( obj , current , next ) ) return next ; } }
atomically adds the given value to the current value of the field of the given object managed by this updater .
