docs: @Override
      public void run() {
          if (m_restoreAgent != null) {
              // start restore process
              m_restoreAgent.restore();
          }
          else {
              onSnapshotRestoreCompletion();
              onReplayCompletion(Long.MIN_VALUE, m_iv2InitiatorStartingTxnIds);
          }
  
          // Start the rejoin coordinator
          if (m_joinCoordinator != null) {
              try {
                  m_statusTracker.set(NodeState.REJOINING);
                  if (!m_joinCoordinator.startJoin(m_catalogContext.database)) {
                      VoltDB.crashLocalVoltDB("Failed to join the cluster", true, null);
                  }
              } catch (Exception e) {
                  VoltDB.crashLocalVoltDB("Failed to join the cluster", true, e);
              }
          }
  
          m_isRunning = true;
      }