code: private void addConsumerForNewTopicExpr(
      String topicExpression,
      boolean isWildcarded,
      MonitoredConsumer mc)
    throws SIDiscriminatorSyntaxException
    {
      if (tc.isEntryEnabled())
          SibTr.entry(
            tc,
            "addConsumerForNewTopicExpr",
            new Object[] { topicExpression, 
                           new Boolean(isWildcarded),
                           mc }); 
  
      // A consumer is being added on a new topic expression
      if (tc.isDebugEnabled())
          SibTr.debug(tc, "Add new reference");       
        
      // Now we walk the registered monitor tables seeing which monitors match
      // this consumer's topic expression
      if(isWildcarded)
      {
        // Use MatchSpace direct evaluation code once we've isolated candidate
        // expressions through string matching
        _consumerMonitorRegistrar.matchNewWildcardConsumerToMonitors(topicExpression, mc);                   
      }         
      else
      {
        // Exact topicExpression in subscription case
        _consumerMonitorRegistrar.matchNewExactConsumerToMonitors(topicExpression, mc);                  
      }
      
      if (tc.isEntryEnabled())
        SibTr.exit(tc, "addConsumerForNewTopicExpr");
    }
docs: Method addConsumerForNewTopicExpr
  
  A monitored consumer is being added for a new topic expression.
  
  This method walks the registered monitor tables seeing which monitors match
  the supplied consumer's topic expression.
  
  @param consumerList list comprising the new consumer only
  @param mc the consumer being added.
  @param topicExpression the topic expression associated with the new consumer
  @param isWildcarded
  @exception SIDiscriminatorSyntaxException if the topic syntax is invalid