nl_tokens: {
pl_tokens: public long onStatusMessage ( final StatusMessageFlyweight flyweight , final InetSocketAddress receiverAddress , final long senderLimit , final int initialTermId , final int positionBitsToShift , final long timeNs ) { final long position = computePosition ( flyweight . consumptionTermId ( ) , flyweight . consumptionTermOffset ( ) , positionBitsToShift , initialTermId ) ; final long windowLength = flyweight . receiverWindowLength ( ) ; final long receiverId = flyweight . receiverId ( ) ; final boolean isFromPreferred = isFromPreferred ( flyweight ) ; final long lastPositionPlusWindow = position + windowLength ; boolean isExisting = false ; long minPosition = Long . MAX_VALUE ; final ArrayList < Receiver > receiverList = this . receiverList ; for ( int i = 0 , size = receiverList . size ( ) ; i < size ; i ++ ) { final Receiver receiver = receiverList . get ( i ) ; if ( isFromPreferred && receiverId == receiver . receiverId ) { receiver . lastPosition = Math . <mask> ( position , receiver . lastPosition ) ; receiver . lastPositionPlusWindow = lastPositionPlusWindow ; receiver . timeOfLastStatusMessageNs = timeNs ; isExisting = true ; } minPosition = Math . min ( minPosition , receiver . lastPositionPlusWindow ) ; } if ( isFromPreferred && ! isExisting ) { receiverList . add ( new Receiver ( position , lastPositionPlusWindow , timeNs , receiverId , receiverAddress ) ) ; minPosition = Math . min ( minPosition , lastPositionPlusWindow ) ; } return receiverList . size ( ) > 0 ? Math . max ( senderLimit , minPosition ) : Math . max ( senderLimit , lastPositionPlusWindow ) ; }