public void DeepIntellisensTest()
        {
            var x = new RecursiveTest(null);

            SetVar("x", new RecursiveTest(x));

            var helpInfo = Parser.Intellisense("x.Recursion").Select(i => i.Details.ToString());

            Assert.AreEqual(2, helpInfo.Count());
            CollectionAssert.Contains(helpInfo, "RecursiveTest RecursionProp { get; set; }");
            CollectionAssert.Contains(helpInfo, "readonly RecursiveTest RecursionField");


            helpInfo = Parser.Intellisense("x.RecursionProp.Recursion").Select(i => i.Details.ToString());
            Assert.AreEqual(2, helpInfo.Count());
            CollectionAssert.Contains(helpInfo, "RecursiveTest RecursionProp { get; set; }");
            CollectionAssert.Contains(helpInfo, "readonly RecursiveTest RecursionField");

            helpInfo = Parser.Intellisense("x.RecursionField.Recursion").Select(i => i.Details.ToString());
            Assert.AreEqual(2, helpInfo.Count());
            CollectionAssert.Contains(helpInfo, "RecursiveTest RecursionProp { get; set; }");
            CollectionAssert.Contains(helpInfo, "readonly RecursiveTest RecursionField");
        }
 public RecursiveTest(RecursiveTest x)
 {
     RecursionField = x;
     RecursionProp  = x;
 }