`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.
break; 
                }
            } catch (const std::exception& e) {
                LogPrintf("%s\n", e.what());
                strLoadError = _("Error opening block database");
                break;
            }
            bool failed_rewind{false};
            
            
            for (CChainState* chainstate : WITH_LOCK(::cs_main, return chainman.GetAll())) {
                if (!fReset) {
                    
                    
                    
                    uiInterface.InitMessage(_("Rewinding blocks...").translated);
                    if (!chainstate->RewindBlockIndex(chainparams)) {
                        strLoadError = _(
                            "Unable to rewind the database to a pre-fork state. "
                            "You will need to redownload the blockchain");
                        failed_rewind = true;
                        break; 
                    }
                }
            }
            if (failed_rewind) {
                break; 
            }
            bool failed_verification = false;
            try {