code: func (r *Replicator) IsReplicationNeeded() (bool, error) {
  	systemChannelLedger, err := r.LedgerFactory.GetOrCreate(r.SystemChannel)
  	if err != nil {
  		return false, err
  	}
  
  	height := systemChannelLedger.Height()
  	var lastBlockSeq uint64
  	// If Height is 0 then lastBlockSeq would be 2^64 - 1,
  	// so make it 0 to take care of the overflow.
  	if height == 0 {
  		lastBlockSeq = 0
  	} else {
  		lastBlockSeq = height - 1
  	}
  
  	if r.BootBlock.Header.Number > lastBlockSeq {
  		return true, nil
  	}
  	return false, nil
  }
docs: // IsReplicationNeeded returns whether replication is needed,
  // or the cluster node can resume standard boot flow.