public async Task <ChangeSignatureResult> ChangeSignatureAsync()
        {
            var context = await ChangeSignatureService.GetChangeSignatureContextAsync(InvocationDocument, _testDocument.CursorPosition.Value, restrictToDeclarations : false, Workspace.GlobalOptions.CreateProvider(), CancellationToken.None).ConfigureAwait(false);

            var options = AbstractChangeSignatureService.GetChangeSignatureOptions(context);

            return(await ChangeSignatureService.ChangeSignatureWithContextAsync(context, options, CancellationToken.None));
        }
        public async Task <ParameterConfiguration> GetParameterConfigurationAsync()
        {
            var context = await ChangeSignatureService.GetChangeSignatureContextAsync(InvocationDocument, _testDocument.CursorPosition.Value, restrictToDeclarations : false, Workspace.GlobalOptions.CreateProvider(), CancellationToken.None);

            if (context is ChangeSignatureAnalysisSucceededContext changeSignatureAnalyzedSucceedContext)
            {
                return(changeSignatureAnalyzedSucceedContext.ParameterConfiguration);
            }

            throw Roslyn.Utilities.ExceptionUtilities.UnexpectedValue(((CannotChangeSignatureAnalyzedContext)context).CannotChangeSignatureReason.ToString());
        }