private void SpeedOrSlowUpCurrentIntervalRate(RunningSpeedState s) { if (currentIntervalCounter / 2 == 0) { return; } switch (s) { case RunningSpeedState.Faster: { currentIntervalCounter = currentIntervalCounter / 2; timer.Interval = new TimeSpan(0, 0, 0, 0, currentIntervalCounter); } break; case RunningSpeedState.Slower: { currentIntervalCounter = currentIntervalCounter * 2; timer.Interval = new TimeSpan(0, 0, 0, 0, currentIntervalCounter); } break; default: { throw new InvalidOperationException("how did we get here ?"); } } }