private IList<ICodeGeneratorContext> GenerateContext(Solution s, IEnumerable<CSharpFile> cSharpFiles)
        {
            if (null == cSharpFiles)
                return new List<ICodeGeneratorContext>();

               return
                cSharpFiles
                    //Load the file from the solution (so it has the latest compilation)
                    .Select(x => s.AllFiles.FirstOrDefault(f => f.FileName.Equals(x.FileName)))
                    .Where(x => null != x)
                    .Select(f => (ICodeGeneratorContext)new CodeGeneratorContext
                    {
                        Solution = s,
                        Source = f,
                        TypeResolver = f.CreateResolver()
                    })
                    .ToList();
        }
        public override void MainSetup()
        {
            base.MainSetup();

            Solution = Kernel.Get<ISolutionFactory>().BuildCurrentSolution();
        }