public IList <ICodeGeneratorContext> GenerateContext(IList <RawSourceFile> rawSourceFiles)
        {
            if (null == rawSourceFiles)
            {
                return(new List <ICodeGeneratorContext>());
            }

            var solution = _solutionFactory.BuildCurrentSolution();

            if (null == solution)
            {
                return(new List <ICodeGeneratorContext>());
            }

            var csharpFiles =
                rawSourceFiles
                .Select(f => solution.AddOrUpdateProjectItemFile(f))
                .Where(x => null != x)
                .ToList();

            return(GenerateContext(solution, csharpFiles));
        }