public async Task DisposeAsync()
        {
            try
            {
                await PsesLanguageClient.Shutdown().ConfigureAwait(false);

                await _psesProcess.Stop().ConfigureAwait(false);

                PsesLanguageClient?.Dispose();
            }
            catch (ObjectDisposedException)
            {
                // Language client has a disposal bug in it
            }
        }
        public async Task DisposeAsync()
        {
            try
            {
                await PsesDebugAdapterClient.RequestDisconnect(new DisconnectArguments
                {
                    Restart           = false,
                    TerminateDebuggee = true
                }).ConfigureAwait(false);

                await _psesProcess.Stop().ConfigureAwait(false);

                PsesDebugAdapterClient?.Dispose();
            }
            catch (ObjectDisposedException)
            {
                // Language client has a disposal bug in it
            }
        }