/// <summary>
        /// Collects words information from a given statement.
        /// </summary>
        /// <param name="statement">An array of characters for the parsing.</param>
        /// <param name="collectVowelsInfo">Specifies needed in collection of latin vowels.</param>
        /// <param name="separators">Word separators.</param>
        /// <returns>Returs a list of WordInfo objects.</returns>
        /// <remarks>
        /// Informations about vowel positions in words always sorted by ascendant.
        /// </remarks>
        public static List<WordInfo> CollectWordsInfo(
         Char[] statement, 
         Boolean collectVowelsInfo, 
         params Char[] separators
         )
        {
            var wordsInfo = new List<WordInfo>();
             WordInfo tempInfo;
             Int32 begPosition = 0;
             Int32 endPosition = 0;

             while (true)
             {
            begPosition = findWordBeginPosition(statement, begPosition, separators);
            if (begPosition == -1) { break; };
            endPosition = findWordEndPosition(statement, begPosition, separators);
            tempInfo = new WordInfo(begPosition, endPosition);
            if (collectVowelsInfo) { collectLatinVowelsInfo(statement, ref tempInfo); }

            wordsInfo.Add(tempInfo);
            begPosition = endPosition + 1;
             }

             return wordsInfo;
        }
 /// <summary>
 /// Collects latin vowels postions of word in a statement. Word bounds info is contained in a wordInfo argument.
 /// </summary>
 /// <param name="statement">An array of characters for the parsing.</param>
 /// <param name="wordInfo">An instance of WordInfo class provided word bounds info and it's
 /// where latin vowels positions would be added.
 /// </param>
 private static void collectLatinVowelsInfo(Char[] statement, ref WordInfo wordInfo)
 {
     for (Int32 i = wordInfo.BeginPosition; i <= wordInfo.EndPosition; i++)
      {
     if (LatinVowels.Contains(statement[i]))
     {
        wordInfo.VowelPositions.Add(i);
     }
      }
 }