public void Initialize(string extension)
        {
            var factory = new EngineParserFactory();
            var engine  = factory.Instantiate(extension);

            var currentPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
            var files       = Directory.GetFiles(currentPath, "Idunn.*.dll");
            var factories   = new List <object>();

            foreach (var file in files)
            {
                var assembly   = Assembly.LoadFile(file);
                var potentials = assembly.GetTypes().Where(t => typeof(IParserRegister).IsAssignableFrom(t));
                if (potentials.Count() == 1)
                {
                    var effective = potentials.Single();
                    var register  = effective.GetConstructor(new Type[0]).Invoke(new object[0]);
                    Initialize(register as IParserRegister, engine);
                }
                else
                {
                    System.Console.BackgroundColor = ConsoleColor.Yellow;
                    System.Console.WriteLine($"Warning: the file {file} doesn't contain any parser. The types defined in this dll won't be loaded by Idunn and will be skipped.");
                    System.Console.ResetColor();
                }
            }
        }
        public void Initialize(IParserRegister register, string extension)
        {
            var factory = new EngineParserFactory();

            Initialize(register, factory.Instantiate(extension));
        }