public virtual ISolutionExplorer GetSolutionExplorer()
        {
            if (_solutionExplorer == null)
            {
                JoinableTaskContext taskContext = GetJoinableTaskContext();
                var vcProjectAdapterFactory     = new VcProjectAdapter.Factory();
                var dte2 = Package.GetGlobalService(typeof(DTE)) as DTE2;
                var envDteUtilFactory = new EnvDteUtil.Factory();
                var envDteUtil        = envDteUtilFactory.Create(taskContext, dte2);
                _solutionExplorer =
                    new SolutionExplorer(taskContext, vcProjectAdapterFactory, envDteUtil);
            }

            return(_solutionExplorer);
        }