code: public void setConsumerActive(boolean active)
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "setConsumerActive", active);
      if(active)
      {
        consumerThreadID = Thread.currentThread().getId();
      }
      else
      {
        consumerThreadID = 0;
      }
      consumerThreadActive = active;
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "setConsumerActive", consumerThreadID);
    }
docs: We only want to remember the result of a filter match if it is called as a result of a consumer
  asking for a message. The consumer indicates that it is asking for a message by calling this
  method with active set to true. After the consumer has got it's message it should call again
  with active false.
  
  This is because the filterMatches method can get called at any time by threads other than the
  consumers' thread. Previously, if this happened while the consumer was trying to get a message,
  the match results were lost or changed.
  
  @param active