private bool TrySelectPreferredView(SolutionChangedEventArgs e)
        {
            if (!ApiHandlerSettingsManager.ContainsSolutionPreference(e.SolutionPath))
            {
                return false;
            }

            var jobLink = ApiHandlerSettingsManager.GetJobLink(e.SolutionPath);
            var jobLinkServer = JenkinsServers.FirstOrDefault((s) => string.Equals(s.Url, jobLink.JenkinsServerUrl, StringComparison.InvariantCultureIgnoreCase));

            if (jobLinkServer == null)
            {
                // server has been removed
                return false;
            }

            bool preferredViewSelected = false;
            if (SelectedJenkinsServer == jobLinkServer)
            {
                // Correct server already selected, just fix the view
                var preferredView = _jenkinsViews.FirstOrDefault((j) => string.Equals(j.Name, jobLink.JenkinsViewName));
                if (preferredView != null)
                {
                    SelectedView = preferredView;
                    preferredViewSelected = true;
                }
            }
            else
            {
                SelectNewJenkinsServer(jobLinkServer, jobLink.JenkinsViewName);
                preferredViewSelected = true;
            }

            return preferredViewSelected;
        }
        private void SolutionPathChanged(object sender, SolutionChangedEventArgs e)
        {
            bool preferredViewSelected = TrySelectPreferredView(e);

            if (!preferredViewSelected)
            {
                // If correct view was already selected, or view doesn't exists, manually update the link icon
                UpdateJobLinkedStatus(e.SolutionPath);
            }
        }