boolean scanAndTransferToWaiter(E e,int start){
  for (int i=0; i < ARENA_LENGTH; i++) {
    int index=(start + i) & ARENA_MASK;
    AtomicReference<Object> slot=arena[index];
    if ((slot.get() == WAITER) && slot.compareAndSet(WAITER,e)) {
      return true;
    }
  }
  return false;
}

boolean scanAndTransferToWaiter ( E e , int start ) { for ( int i = 0 ; i < ARENA_LENGTH ; i ++ ) { int index = ( start + i ) & ARENA_MASK ; AtomicReference < Object > slot = arena [ index ] ; if ( ( slot . get ( ) == WAITER ) && slot . compareAndSet ( WAITER , e ) ) { return true ; } } return false ; }
scans the arena searching for a waiting consumer to exchange with .
