code: func (sm *SyncManager) findNextHeaderCheckpoint(height int32) *chaincfg.Checkpoint {
  	checkpoints := sm.chain.Checkpoints()
  	if len(checkpoints) == 0 {
  		return nil
  	}
  
  	// There is no next checkpoint if the height is already after the final
  	// checkpoint.
  	finalCheckpoint := &checkpoints[len(checkpoints)-1]
  	if height >= finalCheckpoint.Height {
  		return nil
  	}
  
  	// Find the next checkpoint.
  	nextCheckpoint := finalCheckpoint
  	for i := len(checkpoints) - 2; i >= 0; i-- {
  		if height >= checkpoints[i].Height {
  			break
  		}
  		nextCheckpoint = &checkpoints[i]
  	}
  	return nextCheckpoint
  }
docs: // findNextHeaderCheckpoint returns the next checkpoint after the passed height.
  // It returns nil when there is not one either because the height is already
  // later than the final checkpoint or some other reason such as disabled
  // checkpoints.