public async Task<IObjectRoot<SessionController>> CreateSession(MethodIdentifier methodIdentifier, List<string> testAssemblies, bool auto)
        {
            _whiteCache.Pause(true);
            try
            {
                AutoCreationController creationController = _autoCreationControllerFactory.Create();
                var choices = await creationController.Run(methodIdentifier, testAssemblies, auto);
                var original = new OriginalCodebase(LoadAssemblies().Result, testAssemblies.ToEmptyIfNull().ToList());
                _log.Info("Created original codebase with assemblies to mutate: "+ original.ModulesToMutate.Select(m => m.Module.Name).MakeString());
                return _sessionFactory.CreateWithBindings(choices, original);
            }
            finally
            {
                _whiteCache.Pause(false);
            }
            

            
        }
 public OriginalCodebase(List<CciModuleSource> modules, List<string> testAssemblies = null)
 {
     //.Where(cci => !testAssemblies.Select(Path.GetFileNameWithoutExtension).Contains(cci.Module.Name)).ToList()
     _modules = modules;
     _testAssemblies = testAssemblies.ToEmptyIfNull().ToList();
 }