public void ActivateNextVariation() { if (Variations == null || !Variations.Any()) { throw new Exception("Can't activate next variation if none are defined."); } var activeIndex = Variations.IndexOf(ActiveVariation); var nextIndex = activeIndex + 1; if (nextIndex >= Variations.Count) { nextIndex = 0; } ActiveVariation = Variations[nextIndex]; }