public void Execute(SourceGeneratorContext context)
        {
            _config = ConfigParser.GetConfig(_visitor, context);

            if (!string.IsNullOrEmpty(_config.Debugging?.LogOutput))
            {
                _logger.RegisterFactory(
                    new FileLogOutputFactory("Log Output",
                                             _config.Debugging.LogOutput,
                                             LogScope.Error | LogScope.Warning | LogScope.Information,
                                             LogScope.Objects,
                                             DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"))
                    );
            }
            if (string.IsNullOrEmpty(_config.Debugging?.ObjectOutput))
            {
                _logger.RegisterFactory(
                    new FileLogOutputFactory("Object Output",
                                             _config.Debugging?.ObjectOutput,
                                             LogScope.Error | LogScope.Warning | LogScope.Information,
                                             LogScope.Objects,
                                             DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss"))
                    );
            }

            if (_config?.Builders == null)
            {
                _logger.LogError("Skipping generation", "No template config found.", null);
            }

            _generationEngine.NewGeneration();

            GenerateCode(context);
        }