public void Load(string filePath, Encoding encoding = null)
        {
            LoadFileInfo(filePath);

            if (!IsEditorViewLoaded)
            {
                CurrentFilePath = filePath;
            }
            else if ((filePath != null) && File.Exists(filePath))
            {
                GherkinFileInfo fileInfo = m_AppSettings.GetFileInfo(filePath);
                MainEditor.Encoding = encoding ?? GetEncoding(fileInfo);
                MainEditor.Load(filePath);
                HideHSplitView = !NeedShowHSplitView(filePath);
                HideVSplitView = !NeedShowVSplitView(filePath);
                m_AppSettings.UpdateCodePage(filePath, MainEditor.Encoding.CodePage);
                ScrollCursorTo(fileInfo.CursorLine, fileInfo.CursorColumn);
                EventAggregator <FileLoadedArg> .Instance.Publish(this, new FileLoadedArg());

                UpdateEditor(filePath);
                UpdateFoldingsByDefault();
            }
        }