docs: protected static ControlCreateStream createDurableCreateStream(
      MessageProcessor MP,
      ConsumerDispatcherState subState,
      long reqID,
      SIBUuid8 dme) 
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "createDurableCreateStream", new Object[] {MP, subState, new Long(reqID), dme});
      
      ControlCreateStream msg = null;
           
      try
      {
  
        // Create and initialize the message
        msg = MessageProcessor.getControlMessageFactory().createNewControlCreateStream();
        initializeControlMessage(MP.getMessagingEngineUuid(), msg, dme);
        
        // Parameterize for CreateStream
        msg.setRequestID(reqID);
        msg.setDurableSubName(subState.getSubscriberID());
        msg.setGuaranteedTargetDestinationDefinitionUUID(subState.getTopicSpaceUuid());
        
        SelectionCriteria criteria = subState.getSelectionCriteria();
        //check for null values for MFP - defect 251989
        //the discriminator
        if(criteria==null || criteria.getDiscriminator()==null)
        {
          msg.setDurableDiscriminator(null); 
        } 
        else
        {
          msg.setDurableDiscriminator(criteria.getDiscriminator()); 
        } 
        //the selector
        if(criteria==null || criteria.getSelectorString()==null)
        {
          msg.setDurableSelector(null); 
        } 
        else
        {
          msg.setDurableSelector(subState.getSelectionCriteria().getSelectorString());
        } 
        //the selector domain
        if(criteria==null || criteria.getSelectorDomain()==null)
        {
          msg.setDurableSelectorDomain(SelectorDomain.SIMESSAGE.toInt());
        }  
        else
        {
          msg.setDurableSelectorDomain(criteria.getSelectorDomain().toInt());
        }
        
        //defect 259036
        msg.setCloned(subState.isCloned());
        msg.setNoLocal(subState.isNoLocal());
              
        msg.setSecurityUserid(subState.getUser());
        // Set the flag that signals whether this is
        // the privileged SIBServerSubject.
        msg.setSecurityUseridSentBySystem(subState.isSIBServerSubject());
      }
      catch (Exception e)
      {
        FFDCFilter.processException(e,
          "com.ibm.ws.sib.processor.impl.DurableInputHandler.createDurableCreateStream",
          "1:372:1.52.1.1",
          DurableInputHandler.class);
        SibTr.exception(tc, e);
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "createDurableCreateStream", msg);
        
      return msg;
    }