private int GetNewRandom() { while (true) { var i = _random.Next(0, _weatherOptions.Count); if (_weatherOptions[i] != ActiveWeather || _activeWeather.CanBeChained()) { return(i); } } }