code: private void resetFlowProperties() 
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "resetFlowProperties");
   
      // Tidy up what we had before
      int numFilters = consumerKeyFilter.length;    
      for(int i=0;i<numFilters;i++)
      {
        // Discard the cursor
        consumerKeyFilter[i].discard();
      }    
      
      // Recreate the filters and cursors
      try
      {
        ItemStream itemStream = ((ConsumerDispatcher)consumerDispatcher).getItemStream();
        createNewFiltersAndCursors(itemStream);
      } 
      catch (Exception ex)
      {
        // TODO Appropriate messaging?
        // FFDC
        FFDCFilter.processException(
            ex,
          "com.ibm.ws.sib.processor.impl.LocalQPConsumerKey.resetFlowProperties",
          "1:1101:1.23",
          this);
  
        SIErrorException finalE =
          new SIErrorException(
            nls.getFormattedMessage(
              "INTERNAL_MESSAGING_ERROR_CWSIP0002",
              new Object[] { "com.ibm.ws.sib.processor.impl.LocalQPConsumerKey", "1:1108:1.23", ex },
              null),
              ex);
  
        SibTr.exception(tc, finalE);
        SibTr.error(tc, "INTERNAL_MESSAGING_ERROR_CWSIP0002",
          new Object[] { "com.ibm.ws.sib.processor.impl.LocalQPConsumerKey", "1:1114:1.23", SIMPUtils.getStackTrace(ex) });
  
        if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
          SibTr.exit(tc, "resetFlowProperties", finalE);
  
        throw finalE;        
      }
    
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "resetFlowProperties"); 
    }
docs: The Flow properties on a ConsumerSet may be reset dynamically. This
  method supports the resetting of cursors and filters.