docs: protected final void messageReceived(AIStreamKey key)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
        SibTr.entry(this, tc, "messageReceived", key);
      
      long timeout = refillTime;
      boolean reissueGet = false;
      
      synchronized (this)
      {
        countOfUnlockedMessages++;
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
            SibTr.debug(tc, "readAhead change: countOfUnlockedMessages++ " + countOfUnlockedMessages);
  
        if (key.getOriginalTimeout() == SIMPConstants.INFINITE_TIMEOUT)
        {
          countOfOutstandingInfiniteTimeoutGets--;
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
              SibTr.debug(tc, "readAhead change: countOfOutstandingInfiniteTimeoutGets-- " + countOfOutstandingInfiniteTimeoutGets);
        }      
        
        // If the msg that came in was for a refill request then we can allow normal
        // operations to resume or redrive a new request for any attempted requests while
        // we were busy
        if (isRefilling && key.getTick() == refillTick)
        {
          // redrive a request that encompasses any requests that came in while we
          // were busy trying to refill.
          if (TraceComponent.isAnyTracingEnabled() && tc.isDebugEnabled())
            SibTr.debug(tc, "we are refilling, refillTime: " + Long.valueOf(refillTime));
          
          isRefilling = false;
          refillTick = AnycastInputHandler.INVALID_TICK;
          
          if (refillTime != LocalConsumerPoint.NO_WAIT)
          {          
            if (timeout != LocalConsumerPoint.INFINITE_WAIT)
              timeout = refillTime - System.currentTimeMillis();
            
            if (timeout == LocalConsumerPoint.INFINITE_WAIT || timeout > 0)
              reissueGet = true;
          }
        }              
      } // end of synch
      
      if (reissueGet) // outside of synch block
      {
        initiateRefill();
        waiting(timeout, true);
      }
      
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) 
        SibTr.exit(this, tc, "messageReceived");
    }