// Methods public void Add(string languageName) { Assert.ArgumentNotNullOrEmpty(languageName, "languageName"); for (var i = _list.Count - 1; i >= 0; i--) { if (string.Compare(_list[i], languageName, StringComparison.InvariantCultureIgnoreCase) == 0) { _list.Remove(i); } } _list.AddAt(0, languageName); while (_list.Count > Historylength) { _list.Remove(_list.Count - 1); } Save(); }