/// <summary>
 /// Dodaje litere do alfabetu.
 /// Jeżeli któraś z wartości litery już występuje w alfabecie
 /// nowa litera nie zostanie dodana, a funkcja zwróci wartość
 /// AddLetterCode.EntryAlreadyExist.
 /// </summary>
 /// <returns>Informajca o skuteczności dodania.</returns>
 /// <param name="letter">Litera</param>
 public AddLetterCode AddLetter(Letter letter)
 {
     return AddLetter_Safe (letter);
 }
 /// <summary>
 /// Usuwa literę z kolekcji
 /// </summary>
 /// <param name="toDelete">To delete.</param>
 public void DeleteLetter(Letter toDelete)
 {
     alphabet.Remove (toDelete);
 }
 private AddLetterCode AddLetter_Safe(Letter letter)
 {
     AddLetterCode resultCode = AddLetterCode.OK;
     foreach (Letter l in alphabet)
         if (l.LaTeX == letter.LaTeX || l.UTF8_DEC == letter.UTF8_DEC)
             resultCode = AddLetterCode.EntryAlreadyExist;
     if (resultCode == AddLetterCode.OK)
         alphabet.Add (letter);
     return resultCode;
 }
 /// <summary>
 /// Metoda doda obiekt Letter do kolekcji bez żadnych sprawdzeń
 /// </summary>
 /// <param name="letter">Letter to add.</param>
 public void AddLetter_Unsafe(Letter letter)
 {
     alphabet.Add (letter);
 }