public IEnumerable <Word> Interprete()
        {
            var result        = new Dictionary <string, Word>();
            var currentPhrase = new Phrase();
            var t             = _tokenizer.CurrentToken();
            var wasSpace      = false;

            while (t != null)
            {
                if ((t.IsSpace()) && (!wasSpace))
                {
                    currentPhrase.Text += " ";
                }
                if (!t.IsSpace())
                {
                    currentPhrase.Text += t.Text;
                }
                wasSpace = t.IsSpace();

                if (t.IsWord() && !t.Ignore)
                {
                    var w = new Word();
                    w.Text = t.Text;
                    w.AddPhrase(currentPhrase);
                    if (!TestPhrasalVerb(result, w))
                    {
                        AddToList(result, w);
                    }
                }

                if ((t.Text.Length == 1) && (PhraseEndings.Contains(t.Text)))
                {
                    currentPhrase = new Phrase();
                }


                t = _tokenizer.NextToken();
            }


            return(result.Values);
        }