/// <summary> /// Removes a <see cref="SpeedAdjustmentContainer"/> from this container, re-sorting all hit objects /// which it contained into new <see cref="SpeedAdjustmentContainer"/>s. /// </summary> /// <param name="speedAdjustment">The <see cref="SpeedAdjustmentContainer"/> to remove.</param> public void RemoveSpeedAdjustment(SpeedAdjustmentContainer speedAdjustment) { if (speedAdjustment == defaultSpeedAdjustment) { throw new InvalidOperationException($"The default {nameof(SpeedAdjustmentContainer)} must not be removed."); } if (!speedAdjustments.Remove(speedAdjustment)) { return; } while (speedAdjustment.Count > 0) { DrawableHitObject hitObject = speedAdjustment[0]; speedAdjustment.Remove(hitObject); Add(hitObject); } }