docs: public void addNewConsumerForExpression(
      String topicExpression,
      MonitoredConsumer mc,
      boolean selector,
      boolean isWildcarded)
    {
      if (tc.isEntryEnabled()) 
        SibTr.entry(tc, 
                    "addNewConsumerForExpression", 
                    new Object[]{topicExpression, 
                                 mc,
                                 new Boolean(selector),
                                 new Boolean(isWildcarded)});
  
      ArrayList consumerList = new ArrayList(1);
        
      // Add new consumer into list      
      consumerList.add(mc);
          
      if(selector)
      {
        if(isWildcarded)
        {
          // Selector and wildcarded
          _wildcardSelectorSubs.put(topicExpression,consumerList);
          _areWildcardSelectorSubs = true;
        }
        else
        {
          // Selector but not wildcarded
          _exactSelectorSubs.put(topicExpression,consumerList);
          _areExactSelectorSubs = true;
        }
      }
      else
      {
        // No Selector expression
        if(isWildcarded)
        {
          // No selector and wildcarded
          _wildcardNonSelectorSubs.put(topicExpression,consumerList);
          _areWildcardNonSelectorSubs = true;        
        }
        else
        {
          // No selector and not wildcarded
          _exactNonSelectorSubs.put(topicExpression,consumerList);
          _areExactNonSelectorSubs = true;        
        }      
      }           
      if (tc.isEntryEnabled()) SibTr.exit(tc, "addNewConsumerForExpression");
    }