code: public void notifyReceiveAllowed(boolean isAllowed)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "notifyReceiveAllowed", new Object[] { Boolean.valueOf(isAllowed)});
  
      ArrayList<AORequestedTick> satisfiedTicks = null;
      try
      {
        this.lock();
        try
        {
          if ((!closed) && isAllowed)
          {
            temporarilyStopped = false; // no longer stopped
            // while isAllowed was false, many messages may have been made available but they were missed
            // so loop till either there are no more waiting requests, or there are no more available messages
            satisfiedTicks = processQueuedMsgs(null);
    
          } // end if (isAllowed)
          else
          {
            temporarilyStopped = true;
            isready = false;
            ck.notReady();
          }
        } // end this.lock()
        finally
        {
          this.unlock();
        }
      }
      catch(SINotPossibleInCurrentConfigurationException e)
      {
        // No FFDC code needed
        notifyException(e);
      }
      
      // inform parent about satisfied ticks - outside lock
      if (satisfiedTicks != null)
      {
        int length = satisfiedTicks.size();
        for (int i = 0; i < length; i++)
        {
          AORequestedTick aotick = (AORequestedTick) satisfiedTicks.get(i);
          parent.satisfiedRequest(aotick.tick, aotick.getMessage());
        }
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "notifyReceiveAllowed");
    }
docs: /* (non-Javadoc)
  @see com.ibm.ws.sib.processor.impl.interfaces.ConsumerPoint#notifyReceiveAllowed(boolean)