/// <summary>
        /// Execute example
        /// </summary>
        /// <param name="cancellationToken">The cancellation token</param>
        /// <returns>The task</returns>
        public async Task Execute(CancellationToken cancellationToken)
        {
            var request = new PingV1Request();

            var response = await _client
                           .Execute(request, cancellationToken)
                           .ConfigureAwait(Await.Default);

            Require.NotNull(response, nameof(response));
        }
        /// <summary>
        /// Run the application
        /// </summary>
        /// <param name="cancellationToken">The cancellation token</param>
        /// <returns>The task to run</returns>
        public async Task Run(CancellationToken cancellationToken)
        {
            var request = new PingV1Request();

            var response = await _apiClient
                           .Execute(request, cancellationToken)
                           .ConfigureAwait(Await.Default);

            if (response.IsSuccessful == true)
            {
                await _application
                .Run(cancellationToken)
                .ConfigureAwait(Await.Default);
            }
            else
            {
                throw new InvalidOperationException(ExceptionResource.ApiUnavailable);
            }
        }