docs: public void start() throws SIResourceException
    {
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.entry(tc, "start");
  
      synchronized (this)
      {
        active = true;
        // start the liveness timer for sending ControlRequestHighestGeneratedTick, if needed
        if (!completedTicksInitialized)
        {
          if (initRequestId == -1)
            initRequestId = parent.generateUniqueValue();
          requestHighestGeneratedTickTimer = new RequestHighestGeneratedTick();
          //we call the alarm directly
          requestHighestGeneratedTickTimer.alarm(null);
        }
        if (parent.getCardinalityOne() && !isFlushed)
        {
          inactivityTimer =
            am.create(
              mp.getCustomProperties().get_remote_consumer_cardinality_inactivity_interval(),
              inactivityHandler);
        }
        if (resetRequestAckSender != null)
        {
          boolean done = resetRequestAckSender.start();
          if (done)
            resetRequestAckSender = null;
        }
        // start all the liveness timers for value ticks
        dem.startTimer();
        if (imeRestorationHandler!=null)
          imeRestorationHandler.startTimer();
      }
  
      if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
        SibTr.exit(tc, "start");
    }