docs: public boolean registerConsumerSetMonitor(
      ConnectionImpl connection, 
      DestinationHandler topicSpace,
      SIBUuid12 topicSpaceUuid,
      String discriminatorExpression,
      String combinedExpression,
      ConsumerSetChangeCallback callback,
      boolean isWildcarded,
      String wildcardStem,
      MessageProcessorMatching mpm)
    throws
        SIDiscriminatorSyntaxException,
        SIErrorException   
    {
      if (tc.isEntryEnabled())
          SibTr.entry(
            tc,
            "registerConsumerSetMonitor",
            new Object[] { connection,
                           topicSpace, 
                           topicSpaceUuid,
                           discriminatorExpression,
                           combinedExpression,
                           callback,
                           new Boolean(isWildcarded),
                           wildcardStem }); 
               
      boolean areConsumers = false;
  
      // Test whether there are existing registrations on this topicspace. If so,
      // we will match the existing set of subscriptions associated with it.    
      if(_consumerMonitorRegistrar.checkExistingExpression(combinedExpression, isWildcarded))
      {
        // topic expression has been used by another registration, in this case
        // we need to add our callback entry to the registrations table only
        areConsumers = 
          _consumerMonitorRegistrar.
            registerCallbackOnExistingExpression(connection,
                                                 combinedExpression,
                                                 isWildcarded, 
                                                 callback);      
      }
      else
      {
        // A new topic expression. We'll have to find the set of consumers that map
        // to it.
      
        Set localConsumers = new HashSet(); // We'll use these sets where we have
        Set remoteConsumers = new HashSet(); // searched the matchspace 
             
        // The style of processing depends on whether the discriminator in the 
        // registration is wildcarded
        if(!isWildcarded)
        {
          mpm.retrieveNonSelectorConsumers(topicSpace, 
                                           discriminatorExpression,
                                           localConsumers,
                                           remoteConsumers);
                
          // Now we need to check whether there are any subscriptions with selectors
          // that "might" match this expression.
          _subscriptionRegistrar.findMatchingSelectorSubs(combinedExpression, localConsumers);
        }
        else
        {
          // If wildcarded use MatchSpace direct evaluation code and string matching
          _subscriptionRegistrar.findCandidateSubsForWildcardExpr(combinedExpression, wildcardStem, localConsumers);
        }
        
        // Now we perform the actual registration of our monitor
        areConsumers = registerCallbackOnNewExpression(connection,
                                                       combinedExpression,
                                                       isWildcarded, 
                                                       callback,
                                                       localConsumers,
                                                       remoteConsumers);      
        
      }
  
      if (tc.isEntryEnabled())
        SibTr.exit(tc, "registerConsumerSetMonitor", new Boolean(areConsumers));
      return areConsumers;  
    }