code: private void cardinalityChangeConsumersDetached() throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "cardinalityChangeConsumersDetached");
  
      // Tell the AIH to start the flush.
      // this call will acquire a lock on AIH such that it is guaranteed that all calls to
      // RDC.put() for messages on this stream will have returned before rejectAll() returns
      // Therefore we can safely go through itemStream and remove the messages that have
      // already been put and reject them.
      _aih.rejectAll(); // reject everything and start flushing the stream
  
      // then delete all the messages, since know that put() must have completed
      removeAllMessagesItemStream();
  
      synchronized (consumerPoints)
      {
        // set cardinalityChange to false. Note that any consumers that try to attach right after this will not
        // be able to use the old stream since already initiated the flush
        _cardinalityChange = false;
        // tell the AIH to change its cardinality
        _aih.changeReceiveExclusive(_cardinalityOne);
  
      }
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "cardinalityChangeConsumersDetached");
  
    }
docs: /*
  Helper method. Called when all the consumers have been detached.