Inheritance: INavigationSolver
 private DoubleBrowserNavigator GetDoubleBrowserNavigator()
 {
     var wpfDoubleBrowserNavigator = new DoubleBrowserNavigator(this, _UrlSolver, _Injector);
     wpfDoubleBrowserNavigator.OnFirstLoad += FirstLoad;
     wpfDoubleBrowserNavigator.OnNavigate += OnNavigateFired;
     wpfDoubleBrowserNavigator.OnDisplay += OnDisplayFired;
     wpfDoubleBrowserNavigator.UseINavigable = _UseINavigable;
     return wpfDoubleBrowserNavigator;
 }
        private void Init()
        {
            if (_WPFWebWindowFactory != null)
                return;

            if (IsLoaded==false)
                throw ExceptionHelper.Get($"Not able to access Neutronium methods before the component is loaded");

            var engine = HTMLEngineFactory.Engine;
            _WPFWebWindowFactory = engine.ResolveJavaScriptEngine(HTMLEngine);

            if (_WPFWebWindowFactory == null)
                throw ExceptionHelper.Get($"Not able to find WebEngine {HTMLEngine}");

            _Injector = engine.ResolveJavaScriptFramework(JavascriptUIEngine);

            if (_Injector == null)
                throw ExceptionHelper.Get($"Not able to find JavascriptUIEngine {JavascriptUIEngine}. Please register the correspoding Javascript UIEngine.");

            var debugableVm = _Injector.HasDebugScript();
            DebugWindow.Executable = debugableVm;
            VmDebug = debugableVm;

            _WPFDoubleBrowserNavigator = GetDoubleBrowserNavigator();

            WebSessionLogger = engine.WebSessionLogger;
        }