public DefaultProjectHierarchyInspector(
            LiveShareSessionAccessor sessionAccessor,
            JoinableTaskContext joinableTaskContext)
        {
            if (sessionAccessor is null)
            {
                throw new ArgumentNullException(nameof(sessionAccessor));
            }

            if (joinableTaskContext is null)
            {
                throw new ArgumentNullException(nameof(joinableTaskContext));
            }

            _sessionAccessor     = sessionAccessor;
            _joinableTaskFactory = joinableTaskContext.Factory;
        }
        public LiveShareProjectCapabilityResolver(
            LiveShareSessionAccessor sessionAccessor,
            JoinableTaskContext joinableTaskContext)
        {
            if (sessionAccessor is null)
            {
                throw new ArgumentNullException(nameof(sessionAccessor));
            }

            if (joinableTaskContext is null)
            {
                throw new ArgumentNullException(nameof(joinableTaskContext));
            }

            _sessionAccessor     = sessionAccessor;
            _joinableTaskFactory = joinableTaskContext.Factory;
        }