public Long getAndIncrement() {
        while (true) {
            Long current = atomic.get();
            Long next = (current >= high ? low : current + 1);
            if (atomic.compareAndSet(current, next)) {
                return current;
            }
        }
    }
public Long getAndIncrement ( ) { while ( true ) { Long current = atomic . get ( ) ; Long next = ( current >= high ? low : current + 1 ) ; if ( atomic . compareAndSet ( current , next ) ) { return current ; } } }
@return the current value in the sequence, followed by an increment.