`RewindBlockIndex` was made to allow nodes upgrading to new consensus rules post-segwit fork to 
download new consensus data (i.e witnesses) without having to go through a whole IBD. It has been pointed than now really few pre-segwit nodes care to upgrade and that this logic may be irrelevant.

See https://github.com/bitcoin/bitcoin/pull/17737#discussion_r358514335 in review  of #17737 for more context pointers.
int64_t m_total_coinsdb_cache{0};
    
    
    
    
    
    
    
    CChainState& InitializeChainstate(CTxMemPool& mempool, const uint256& snapshot_blockhash = uint256())
        EXCLUSIVE_LOCKS_REQUIRED(::cs_main);
    
    std::vector<CChainState*> GetAll();
    
    
    
    
    
    
    
    
    
    
    
    
    
    [[nodiscard]] bool ActivateSnapshot(
        CAutoFile& coins_file, const SnapshotMetadata& metadata, bool in_memory);
    
    CChainState& ActiveChainstate() const;
    CChain& ActiveChain() const { return ActiveChainstate().m_chain; }