public WordHexagon(WordHexagon original)
        {
            Verbose = original.Verbose;
            foreach (string word in original.UniqueWords)
            {
                UniqueWords.Add(word);
            }
            Size          = original.Size;
            NumberOfLines = original.NumberOfLines;
            Lines         = new string[NumberOfLines];
            for (int index = 0; index < NumberOfLines; index++)
            {
                Lines[index] = original.Lines[index];
            }

            _repository    = original._repository;
            _xmlSerializer = original._xmlSerializer;
        }
 public void Deserialize(string fileName)
 {
     using (TextReader reader = new StreamReader(fileName))
     {
         WordHexagon deserializedPuzzle = _xmlSerializer.Deserialize(reader) as WordHexagon;
         if (deserializedPuzzle != null)
         {
             foreach (string word in deserializedPuzzle.UniqueWords)
             {
                 UniqueWords.Add(word);
             }
             Lines = new string[5];
             for (int index = 0; index < 5; index++)
             {
                 Lines[index] = deserializedPuzzle.Lines[index];
             }
         }
     }
 }