public void AddPreset(PresetModel preset)
        {
            if (preset.HasErrors)
            {
                throw new InvalidOperationException("Cannot add a preset with errors.");
            }

            if (PresetExists(preset))
            {
                throw new InvalidOperationException("Cannot add an existing preset.");
            }

            var index = CollectionHelper.BinarySearch(_presets, preset);

            _presets.Insert(~index, preset);
        }